1.1 配置环境变量yarn-env.sh
该文件是 YARN 框架运行环境的配置,同样需要修改 JDK 所在位置。我们可以使用如下命令打开“yarn-env.sh”文件:
vim /root/software/hadoop-2.7.7/etc/hadoop/yarn-env.sh找到JAVA_HOME参数位置,将前面的#去掉,将其值修改为本机安装的JDK的实际位置:
图1
1.2 配置计算框架mapred-site.xml
该文件是 MapReduce 的核心配置文件,用于指定MapReduce运行时框架。此处应该指定 yarn,另外的可用值还有 local (本地的作业运行器)和 classic(MR1运行模式),默认为 local。
在 $HADOOP_HOME/etc/hadoop/ 目录中默认没有该文件,需要先通过如下命令将文件复制并重命名为 “mapred-site.xml”:
cp mapred-site.xml.template mapred-site.xml效果如下图所示:
图2
接着,打开 “mapred-site.xml” 文件进行修改:
vim /root/software/hadoop-2.7.7/etc/hadoop/mapred-site.xml将下面的配置内容添加到 <configuration></configuration> 中间:
<!-- 指定使用 YARN 运行 MapReduce 程序,默认为 local --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>效果如下图所示:
图3
1.3 配置YARN系统yarn-site.xml
本文件是YARN 框架的核心配置文件,用于配置 YARN 进程及 YARN 的相关属性。
首先需要指定 ResourceManager 守护进程所在主机,默认为0.0.0.0,即当前设备,所以这里我们无需再次指定;其次需要设置 NodeManager 上运行的辅助服务,需配置成 mapreduce_shuffle 才可运行 MapReduce 程序。
使用如下命名打开该配置文件:
vim /root/software/hadoop-2.7.7/etc/hadoop/yarn-site.xml将下面的配置内容添加到 <configuration></configuration> 中间:
<!-- NodeManager上运行的附属服务,也可以理解为 reduce 获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>效果如下图所示:
图4
2.1 启动和关闭 YARN 集群
在启动 YARN 集群之前,需要保证 HDFS 集群处于启动状态。若是 HDFS 集群没有启动,我们可以使用脚本一键启动的方式启动 HDFS 集群。命令如下所示:
start-dfs.sh效果图如下所示:
图5
HDFS集群服务启动完成之后,我们可以通过 jps 指令查看各个服务进程启动情况,效果图如下所示:
图6
针对 YARN 集群的启动,启动方式同样有两种,一种是单节点逐个启动;另一种是使用脚本一键启动。
1. 单节点逐个启动和关闭
单节点逐个启动的方式,需要参照以下方式逐个启动 YARN 集群服务需要的相关服务进程,具体步骤如下:
(1)在本机上使用以下指令启动 ResourceManager 进程:
yarn-daemon.sh start resourcemanager(2)在本机上使用以下指令启动 NodeManager 进程:
yarn-daemon.sh start nodemanager另外,当需要停止相关服务进程时,只需要将上述指令中的start更改为stop即可。
2. 脚本一键启动和关闭
启动集群最常使用的方式是使用脚本一键启动,前提是需要配置 SSH 免密登录。
在本机上使用如下方式一键启动 YARN 集群: start-yarn.sh 效果图如下所示:
图7
打印信息:
在本机上启动了 ResourceManager 守护进程
在本机上启动了 NodeManager 守护进程
我们可以一键启动 YARN 集群,同样也可以一键关闭 YARN 集群,只需将 start 改为 stop 即可,即stop-yarn.sh。
2.2 查看进程启动情况
在本机执行 jps 命令,在打印结果中多了 2 个进程,分别是 ResourceManager 和 NodeManager,如果出现了这 2 个进程表示进程启动成功。如下图所示:
图8
2.3 通过UI查看 YARN 运行状态
YARN 集群正常启动后,它默认开放了8088端口,用于监控 YARN 集群。通过 UI 可以方便地进行集群的管理和查看,只需要在本地操作系统的浏览器输入集群服务的IP和对应的端口号即可访问。
通过本机的浏览器访问http://localhost:8088或http://本机IP地址:8088查看 YARN 集群状态,效果如下图所示:
图9
从上图可以看出,通过UI可以正常访问 Hadoop 集群的 YARN 界面,并且页面显示正常,同时通过 UI 可以更方便地进行状态管理和查看。