续我的上篇博文:https://mp.csdn.net/postedit/89181851。即Hadoop分布模式已经安装部署好。
本篇博文在上篇博文的基础上配置部署启动YARN并在YARN上运行MapReduce程序
一、实验环境(rhel7.3版本)
1、selinux和firewalld状态为disabled
2、各主机信息如下:
主机 | ip |
---|---|
server1(NameNode、 Secondary Namenode、nfs网络文件系统的服务端、ResourceManager) | 172.25.83.1 |
server2(Datanode、nfs网络文件系统的客户端、NodeManager) | 172.25.83.2 |
server3(Datanode、nfs网络文件系统的客户端、NodeManager) | 172.25.83.3 |
server4(Datanode、nfs网络文件系统的客户端、NodeManager) | 172.25.83.4 |
二、Hadoop分布模式下配置部署启动YARN
配置server1(Namenode):当然也可以在server4端/server2端/server3端进行配置,因为配置了nfs网络文件系统,所以
在任何一端进行操作均可以。
1、修改配置文件
<1>配置mapred-site.xml
[hadoop@server1 hadoop]$ pwd
/home/hadoop/hadoop/etc/hadoop
[hadoop@server1 hadoop]$ vim mapred-site.xml #在文件的最后写入如下的内容
19 <configuration>
20 <property>
21 <name>mapreduce.framework.name</name>
22 <value>yarn</value>
23 </property>
24
25 <property>
26 <name>mapreduce.application.classpath</name>
27 <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/sh are/hadoop/mapreduce/lib/*</value>
28 </property>
29 </configuration>
<2>配置yarn-site.xml
[hadoop@server1 hadoop]$ pwd
/home/hadoop/hadoop/etc/hadoop
[hadoop@server1 hadoop]$ vim yarn-site.xml #在文件的最后添加如下的内容
15 <configuration>
16 <property>
17 <name>yarn.nodemanager.aux-services</name>
18 <value>mapreduce_shuffle</value>
19 </property>
20
21 <property>
22 <name>yarn.nodemanager.env-whitelist</name>
23 <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASS PATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
24 </propety>
25 </configuration>
2、开启yarn
[hadoop@server1 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server1 hadoop]$ sbin/start-yarn.sh
3、jps命令查看java进程,并在Namemode节点(server2,server3和server4端)查看java进程
[hadoop@server1 hadoop]$ jps
4198 SecondaryNameNode
3978 NameNode
4699 Jps
4540 ResourceManager
[hadoop@server2 ~]$ jps
2485 Jps
2250 DataNode
2380 NodeManager
[hadoop@server3 ~]$ jps
2483 Jps
2247 DataNode
2378 NodeManager
[hadoop@server4 ~]$ jps
2514 DataNode
2823 Jps
2664 NodeManager