• linux系统(本篇使用的是CentOS v7.0)
  • Hadoop安装包(本篇使用的是hadoop v2.7.3)
  • JDK 1.8.121


安装/配置 步骤



  1. 1
    配置hosts文件,将主机名和对应IP地址映射。如图中Master、Slave1和Slave2是我们要搭建分布式环境的机器。Master为主机,Slavex为从机。

    centos7 hadoop3下载安装配置_hadoop


  2. 2
    配置SSH的无密码登录:可新建专用用户hadoop进行操作,cd命令进入所属目录下,输入以下指令(已安装ssh)
    ssh-keygen -t rsa -P ""
    cat .ssh/id_rsa.pub >>.ssh/authorized_keys
    解释一下,第一条生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用“”空字符串表示无密码。
    第二条命令将生成的密钥写入authorized_keys文件。
    这时输入 ssh localhost,弹出写入提示后回车,便可无密码登录本机。同理,将authorized_keys文件 通过 scp命令拷贝到其它主机相同目录下,则可无密码登录其它机器。

    centos7 hadoop3下载安装配置_hadoop_02


  3. 3
    安装hadoop:安装方式很简单,下载安装包到所属目录下,使用
    tar -zxvf 安装包名
    进行解压,解压完毕可通过mv 命令重命名文件夹,安装至此完成。解压后的目录内容如图所示。

    centos7 hadoop3下载安装配置_配置文件_03


  4. 4 hadoop配置过程:要实现分布式环境,配置过程是最为重要的, 这里要涉及到的配置文件有7个:
~/hadoop/etc/hadoop/hadoop-env.sh
 ~/hadoop/etc/hadoop/yarn-env.sh
 ~/hadoop/etc/hadoop/slaves
 ~/hadoop/etc/hadoop/core-site.xml
 ~/hadoop/etc/hadoop/hdfs-site.xml
 ~/hadoop/etc/hadoop/mapred-site.xml
 ~/hadoop/etc/hadoop/yarn-site.xml

  1. 之后会分别介绍各个配置的的作用和配置关键

    centos7 hadoop3下载安装配置_hdfs_04

  2. 5
    配置文件1:hadoop-env.sh
    该文件是hadoop运行基本环境的配置,需要修改的为java虚拟机的位置。
    故在该文件中修改JAVA_HOME值为本机安装位置(如,export JAVA_HOME=/usr/lib/jvm/java-1.7.0)

    centos7 hadoop3下载安装配置_hdfs_05


  3. 6
    配置文件2:yarn-env.sh
    该文件是yarn框架运行环境的配置,同样需要修改java虚拟机的位置。
    在该文件中修改JAVA_HOME值为本机安装位置(如,export JAVA_HOME=/usr/lib/jvm/java-1.7.0)

    centos7 hadoop3下载安装配置_hadoop_06


  4. 7
    配置文件3:slaves
    该文件里面保存所有slave节点的信息,以本篇为例
    写入以下内容(hosts里从机的主机名):
    Slave1
    Slave2

    centos7 hadoop3下载安装配置_hadoop_07


  5. 8 配置文件4:core-site.xml
<configuration>
 <property>
 <name>hadoop.tmp.dir</name>
 <value>/data/hadoop-${user.name}</value>
 </property>
 <property>
 <name>fs.default.name</name>
 <value>hdfs://Master:9000</value> </property> 
      </configuration>

  1. 这个是hadoop的核心配置文件,这里需要配置的就这两个属性,fs.default.name配置了hadoop的HDFS系统的命名,位置为主机的9000端口;hadoop.tmp.dir配置了hadoop的tmp目录的根位置。这里使用了一个文件系统中没有的位置,所以要先用mkdir命令新建一下。

    centos7 hadoop3下载安装配置_配置文件_08

  2. 9 配置文件5:hdfs-site.xml
<configuration>
 <property>
 <name>dfs.http.address</name>
 <value>Master:50070</value>
 </property>
 <property>
 <name>dfs.namenode.secondary.http-address</name><value>Master:50090</value>
 </property>
 <property>
 <name>dfs.replication</name>
 <value>1</value>
 </property>
 </configuration>

  1. 这个是hdfs的配置文件,dfs.http.address配置了hdfs的http的访问位置;dfs.replication配置了文件块的副本数,一般不大于从机的个数。

    centos7 hadoop3下载安装配置_hdfs_09

  2. 10 配置文件6:mapred-site.xml
<configuration>
 <property>
 <name>mapred.job.tracker</name>
 <value>Master:9001</value>
  </property>
 <property>
 <name>mapred.map.tasks</name>
 <value>20</value> </property> 
      <property>
 <name>mapred.reduce.tasks</name>
 <value>4</value> </property> 
      <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>


  1. 这个是mapreduce任务的配置,由于hadoop2.x使用了yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置为yarn。mapred.map.tasks和mapred.reduce.tasks分别为map和reduce的任务数,至于什么是map和reduce,可参考其它资料进行了解。
    其它属性为一些进程的端口配置,均配在主机下。

    centos7 hadoop3下载安装配置_hadoop_10

  2. 11 配置文件7:yarn-site.xml
<configuration>
 <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.webapp.address</name>
  <value>Master:8088</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.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>
 </configuration>

  1. 该文件为yarn框架的配置,主要是一些任务的启动位置

    centos7 hadoop3下载安装配置_hdfs_11

  2. 12
    将配置好的hadoop复制到其他节点
    scp –r ~/hadoop hadoop@Slave1:~/
    scp –r ~/hadoop hadoop@Slave2:~/
    END


启动验证



  1. 1
    格式化namenode:
    ./bin/hdfs namenode -format
    若出现如图所示提示,则格式化成功

    centos7 hadoop3下载安装配置_配置文件_12


  2. 2
    启动hdfs: ./sbin/start-dfs.sh
    此时在Master上面运行的进程有:namenode secondarynamenode
    Slave1和Slave2上面运行的进程有:datanode
    启动yarn: ./sbin/start-yarn.sh
    此时在Master上面运行的进程有:namenode secondarynamenode resourcemanager
    Slave1和Slave2上面运行的进程有:datanode nodemanager

    centos7 hadoop3下载安装配置_hadoop_13

    centos7 hadoop3下载安装配置_配置文件_14


  3. 3
    检查启动结果
    查看集群状态:./bin/hdfs dfsadmin –report
    查看文件块组成: ./bin/hdfsfsck / -files -blocks
    查看HDFS: http://192.168.101.248:50070(主机IP)
    查看RM: http:// 192.168.101.248:8088(主机IP)
    正确情况如图显示

    centos7 hadoop3下载安装配置_hadoop_15

    centos7 hadoop3下载安装配置_配置文件_16


    END


注意事项



  • 根目录为不存在的文件夹时,需自行创建。
  • 启动过程使用端口较多,若无其它原因,需关闭防火墙以正常启动。
  • 重新格式化namenode时,需先删除各节点的data文件