上一篇总结了启动 HDFS 并运行 MapReduce 程序。这一篇主要记录启动 YARN 并运行 MapReduce 程序
- 配置:
etc/hadoop/yarn-env.sh
。配置 JAVA_HOME 路径export JAVA_HOME=/opt/module/jdk1.8.0_144
- 配置:
etc/hadoop/yarn-site.xml
<!-- Reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>0.0.0.0</value> </property>
- 配置:
etc/hadoop/mapred-env.sh
。配置 JAVA_HOME 路径export JAVA_HOME=/opt/module/jdk1.8.0_144
- 配置:
etc/hadoop/mapred-site.xml
。这个文件是对mapred-site.xml.template
重命名得到的<!-- 指定MR运行在YARN上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
- 启动之前必须保证 NameNode 和 DataNode 已经启动
- 启动 ResourceManager
[root@hadoop02 hadoop-2.7.2]# sbin/yarn-daemon.sh start resourcemanager
- 启动 NodeManager
[root@hadoop02 hadoop-2.7.2]# sbin/yarn-daemon.sh start nodemanager
- 查看集群是否启动成功
[root@hadoop02 hadoop-2.7.2]# jps 12080 DataNode 13170 NodeManager 13285 Jps 12919 ResourceManager 11976 NameNode
-
在 Web 浏览器查看集群。注意,和 50070 那个端口是不一样的,这个是专门查看 MapReduce 程序运行状况的。记得在服务器上开放 8088 端口
http://hadoop02:8088/cluster
-
删除文件系统上的 output 文件夹,如果有的话。
[root@hadoop02 hadoop-2.7.2]# bin/hdfs dfs -rm -r /user/yain/output
-
执行 MapReduce 程序
[root@hadoop02 hadoop-2.7.2]# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/yain/input /user/yain/output
-
查看执行成功
[root@hadoop02 hadoop-2.7.2]# bin/hdfs dfs -cat /user/yain/output/p*