操作系统:centos6.6(三台服务器)

环境:selinux disabled;iptables off;java 1.8.0_131

安装包:hadoop-2.5.0.tar.gz

hadoop完全分布式模式(生产环境使用)

1、节点规划

centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

2、hosts配置

#vim /etc/hosts (三台机都做此配置)

centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

3、解压安装包 (在bigdata-hadoop1上安装)

#tar zxvf hadoop-2.5.0.tar.gz -C /data/hadoop/hadoopfull/

4、设置JAVA_HOME路径

centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

export JAVA_HOME="/data/jdk"

etc/共有三个配置文件需要添加java路径,hadoop-env.sh、mapred-env.sh、yarn-env.sh

5、修改配置文件(全部先在bigdata-hadoop1的机器上修改)

  1)mapred-site.xml

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  mapreduce.frameword.name设置mapreduce任务运行在yarn上

  mapreduce.jobhistory.address是设置mapreduce的历史服务器安装在bigdata-hadoop1机器上

  mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口

  2)hdfs-site.xml

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  dfs.namenode.secondary.http-address设置secondarynamenode启动在bigdata-hadoop3上

  3)core-site.xml

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  fs.defaultFS为NameNode的地址

  hadoop.tmp.dir为hadoop的临时地址,NameNode和DataNode的数据文件都会存在这个目录对应的子目录下

  4)slaves

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  5)yarn-site.xml

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  yarn.resourcemanager.hostname这个指定resourcemanager服务器指向bigdata-hadoop2

  yarn.log-aggregation-enable是配置是否启用日志聚集功能

  yarn.log-aggregation.retain-seconds是配置聚集的日志咋HDFS上最多保存多长时间

6、SSH无密码登录

  hadoop服务器相互之间会通过SSH访问,以下步骤在hadoop服务器上都要执行

  #ssh-keygen -t rsa

  #ssh-copy-id bigdata-hadoop1.example.com

  #ssh-copy-id bigdata-hadoop2.example.com

  #ssh-copy-id bigdata-hadoop3.example.com

  #ssh bigdata-hadoop1.example.com (测试登录一下)

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

7、分发hadoop文件(将bigdata-hadoop1上配置好的文件copy到bigdata-hadoop2和bigdata-hadoop3)

  #scp -r hadoop-2.5.0/ bigdata-hadoop2.example.com:/data/hadoop/hadoopfull

  #scp -r hadoop-2.5.0/ bigdata-hadoop3.example.com:/data/hadoop/hadoopfull

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  hadoop-2.5.0/share/doc目录的hadoop的文档,copy的时候可以把这些文档删除或者移到其他地方,提高copy的速度,doc/下的这些文档大约有1.6G

8、格式化NameNode

  #bin/hdfs namenode -format

  格式化完成之后会在tmp临时目录下生成dfs文件,如果需要重新格式化,要删除此dfs文件,否则NameNode的ID和DataNode的ID不一样,服务启动时会报错

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

9、启动集群

  1)启动HDFS

  #sbin/start-dfs.sh

  这个脚本启动时namenode和datanode的分配

  在bigdata-hadoop1上会看到namode和datanode

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  在bigdata-hadoop2上会看到datanode

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  在bigdata-hadoop3上会看到datanode和secondarynamenode

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  2)启动YARN

  #/sbin/start-yarn.sh

  在bigdata-hadoop1、bigdata-hadoop2和bigdata-hadoop3节点上会看到NodeManager

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  因为我们规划的ResourceManager是在bigdata-hadoop2上,所以需要在bigdata-hadoop2上启动ResourceManager

  #sbin/yarn-daemon.sh start resourcemanager

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  3)启动日志服务

  根据我们的规划,MapReduce日志服务在bigdata-hadoop1上启动

  #sbin/mr-jobhistory-daemon.sh start JobHistoryServer

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

10、页面呈现

  1)windows服务器上做hosts解析

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  2)访问地址bigdata-hadoop1.example.com:50070

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  3、访问地址bigdata-hadoop2.example.com:8088

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

11、JOB测试

  1、准备mapredue的输入文件

  #cat wc.input

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  2、创建输入目录input

  #hadoop fs -mkdir /input(或者#bin/hdfs dfs -mkdir /input)

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  3、上传wc.input文件(或者#bin/hdfs dfs -put wc.input /input)

  #hadoop fs -put wc.input /input

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  4、运行hadoop自带的mapreduce demo

  #bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /input/wc.input /output1

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

  表示mapreduce计算成功的地方可以从三处查看:

   第一个地方是执行过程中,从以上截图的Job job_1519912458802_0001 completed successfully表明执行成功

   第二个地方是web界面

  • centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP
  • 第三个地方是查看output1的目录#hadoop fs -ls /output1,看到_SUCCESS

centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

12、查看mapreduce的计算结果

  #hadoop fs -cat /output1/part-r-00000

  centos6.6安装hadoop-2.5.0(三、完全分布式安装)-LMLPHP

04-16 19:35