Yarn是什么?
YARN(Yet Another Resource Negoitator 另一种资源协调者)是一个分布式的通用资源管理系统,其产生的原因是为了解决MapReduce框架的不足,在兼容旧版MapReduce框架的同时,提供了更好的扩展性、资源利用率以及用户灵活性
YARN的基本思想是将JobTracker的两大主要功能:资源管理和Job调度/监控 拆分为两个单独的守护进程:一个全局的ResourceManager(RM)和每个应用程序对应着一个的ApplicationMaster(AM)。RM和每个节点对应着一个的NodeManager(NM)则构成了新的、通用的、以分布式地管理应用程序的操作系统。 下图是Yarn的工作流程:
想要更详细的了解yarn的小伙伴们可以点击一下yarn
Yarn的配置
yarn的搭建是建立在hadoop的基础上的,想要了解如何搭建Hadoop的小伙伴们可以点击一哈hadoop搭建()
可以通过配置以下Yarn的信息,另外运行ResourceManager守护进程和NodeManager守护进程来进行一个伪分布的MapReduce作业
1.修改hadoop中etc/hadoop目录下mapred-site.xml文件
在<configuration>标签中添加以下配置:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
修改后的配置信息如下图所示:
2.修改hadoop中etc/hadoop/目录下的yarn-site.xml文件
在<configuration>标签中添加以下配置:
节点管理辅助服务,一个以逗号分隔的列表的服务,服务名称只能包含a-za-z0-9_不能以数字开头。
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name> 环境变量白名单
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
修改后的配置信息如下图所示:
3.使用指令sbin/start-yarn.sh,启动ResourceManager和NodeManager守护进程
4.输入http://自己的ip:8088出现如下界面,说明配置启动成功