YARN 是从 MapReduce 中分离出来的,==负责资源管理与任务调度==。YARN 运行于 MapReduce 之上,提供了==高可用性==、==高扩展性==,上述通过 ./sbin/start-dfs.sh 启动 Hadoop,仅仅是启动了 MapReduce 环境,我们可以启动 YARN ,让 YARN 来负责资源管理与任务调度。
首先修改配置文件 mapred-site.xml,这边需要先进行重命名:
hadoop@hadoop1:/usr/local/hadoop$ mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml然后再进行编辑,同样使用 gedit 编辑会比较方便些 gedit ./etc/hadoop/mapred-site.xml :
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>接着修改配置文件 yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>然后就可以启动 YARN 了(需要先执行过 ./sbin/start-dfs.sh):
hadoop@hadoop1:/usr/local/hadoop$ ./sbin/start-yarn.sh # 启动YARN hadoop@hadoop1:/usr/local/hadoop$ ./sbin/mr-jobhistory-daemon.sh start historyserver # 开启历史服务器,才能在Web中查看任务运行情况- 开启后通过 jps 查看,可以看到多了 NodeManager 和 ResourceManager 两个后台进程,如下图所示。
但 YARN 主要是为集群提供更好的资源管理与任务调度,然而这在单机上体现不出价值,反而会使程序跑得稍慢些。因此在单机上是否开启 YARN 就看实际情况了。
备注:不启动 YARN 需重命名 mapred-site.xml
如果不想启动 YARN,务必把配置文件 mapred-site.xml 重命名,改成 mapred-site.xml.template,需要用时改回来就行。否则在该配置文件存在,而未开启 YARN 的情况下,运行程序会提示 “Retrying connect to server: 0.0.0.0/0.0.0.0:8032” 的错误,这也是为何该配置文件初始文件名为 mapred-site.xml.template。
关闭 YARN 的脚本如下:
hadoop@hadoop1:/usr/local/hadoop$ ./sbin/stop-yarn.sh hadoop@hadoop1:/usr/local/hadoop$ ./sbin/mr-jobhistory-daemon.sh stop historyserver 四.总结花了一整天的时间,终于把这篇博客写完了,对hadoop的环境配置和工作工程有了一个初步的认识了,尤其对hdfs文件系统了有了初步的感觉,同时Linux的使用又熟练一些,在这里感谢网络上的各个小伙伴的帮助,之后会继续跟进Hadoop相关的内容。
下面关于Hadoop的文章您也可能喜欢,不妨看看:
Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程
CentOS安装和配置Hadoop2.2.0