hadoop-2.6.0 完全分布式安装

时间:2022-09-24 21:14:47

hadoop-2.6.0集群的配置安装:

机器环境是64位的centos-6.5、jdk-1.8、64位的hadoop-2.6.0

5个机器,机器的主机名分别为slave01、slave02、master、slave04、slave05,其中master为namenode机器,其他为datanode机器

配置hadoop集群,各个机器最好用相同的用户名,并且各个机器上的hadoop的的结构目录也要相同

第一步:配置各个机器centos的静态IP地址

         在root权限下命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0设置ifcfg-eth0的内容 

         BOOTPROTO=static

         IPADDR=192.168.6.***

         DNS1=159.226.115.1

        DNS2=159.226.115.11

       GATEWAY=192.168.6.254

      设置完成后对网络进行重新启动即可:servicenetwork restart

至上 网络配置成功

第二步:配置各个机器的etc/hosts中IP和hostName要一一对应,因为用IP比较麻烦

hadoop-2.6.0 完全分布式安装

至上,/etc/hosts配置成功

第三步:在自创建的用户下配置master和slave01、slave02、slave04、salve05之间ssh无密码登陆

          在各个机器上用命令:chkconfigiptables off 是永久关闭防火墙

         分别在5台机器上执行命令:ssh-keygen -t rsa

        三次Enter键后在默认路径下生成一个.ssh文件,在此文件下有id_rsa和id_rsa.pub两个文件

        进入~/.ssh目录下执行:“cat id_rsa.pub >> authorized_keys”命令

        完成上面的两个命令后,把master机器上~/ssh/authorized_keys中的内容分别拷贝到slave01、slave02、slave04、slave05机器中~/.ssh/authorized_keys中,如:

hadoop-2.6.0 完全分布式安装

      在5台机器上执行命令:chmod 700  ~/.ssh

                                  chmod 600  ~/.ssh/authorized_keys

                                 ssh-add  ~/.ssh/id_rsa

     在master机器上进行无密码登陆执行

hadoop-2.6.0 完全分布式安装

至上,ssh无密码登陆配置成功

第四步:安装jdk

        首先,检查各个机器上jdk旧版本

       用命令 rpm  - | grep jdk,会显示旧版本的各个jkd名字

       用命令  rpm  -e  --nodeps  旧jdk名称

      把jdk解压到相应的目录下: tar  -zxvf jdk名字  -C /~

     在root下编辑  /etc/profile内容,添加jdk环境变量

hadoop-2.6.0 完全分布式安装

保存,执行命令:source  /etc/profile

用java -version检查java是否安装成功

hadoop-2.6.0 完全分布式安装

至上 jdk安装成功

第五步:hadoop配置

       在master机器上解压hadoop-2.6.0命令: tar  -zxvf  ~/hadoop-2.6.0  -C /~

       进入解压后的hadoop的etc/hadoop目录中

把~/etc/hadoop中的hadoop-env.sh、mapred-env.sh、yarn-env.sh加入JAVA_HOME

配置hdfs-site.xml

<configuration>
 <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:50090</value>
 </property>
 <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/home/zhuhaichuan/hdfs/name</value>
 </property>
 <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/zhuhaichuan/hdfs/data</value>
 </property>
 <property>
    <name>dfs.replication</name>
    <value>2</value>
 </property>
 <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
 </property>
  <property>
      <name>dfs.permissions.enabled</name>
      <value>false</value>
 </property>
</configuration>

配置core-site.xml文件

<configuration>
 <property>
   <name>fs.defaultFS</name>
   <value>hdfs://master:9000</value>
 </property>
 <property>
   <name>io.file.buffer.size</name>
   <value>131072</value>
 </property>
 <property>
   <name>hadoop.tmp.dir</name>
   <value>file:/home/zhuhaichuan/temp</value>
   <description>Abasefor other temporary directories.</description>
 </property>
</configuration>

配置mapred-site.xml文件,配置文件中没有mapred-site.xml,用命令mv把mapred-site.xml.template的名字改成mapred-site.xml即可

<configuration>
  <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
   </property>
 <property>
   <name>mapreduce.jobhistory.address</name>
   <value>master:10020</value>
 </property>
 <property>
   <name>mapreduce.jobhistory.webapp.address</name>
   <value>master:19888</value>
 </property>
</configuration>

配置yarn-site.xml文件

<configuration>
<!-- Site specific YARN configuration properties -->
  <property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
  </property>
  <property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
     <name>yarn.resourcemanager.address</name>
     <value>master:8032</value>
  </property>
  <property>
     <name>yarn.resourcemanager.scheduler.address</name>
     <value>master:8030</value>
   </property>
   <property>
       <name>yarn.resourcemanager.resource-tracker.address</name>
       <value>master:8031</value>
   </property>
   <property>
     <name>yarn.resourcemanager.admin.address</name>
     <value>master:8033</value>
   </property>
   <property>
      <name>yarn.resourcemanager.webapp.address</name>
      <value>master:8088</value>
   </property>
   <property>
      <name>yarn.nodemanager.resource.memory-mb</name>
      <value>8192</value>                                                        

  </property>
</configuration>

把配置好的hadoop-2.6.0文件传递到slave01、slave02、slave04、slave05机器上(要放在和master对应的机器上)

scp -r ~/hadoop-2.6.0 hostName:/~ 把master上的hadoop-2.6.0传递到各个机器上

在master机器上的hadoop目录下执行:“bin/hdfs  namendoe  -format”命令

 执行 “sbin/start-all.sh”命令启动即可。

至上完成!