一、本篇教程侧重点导读
- yarn的快速理解;
- yarn的安装位置解析;
- yarn配置文件与启动;
- yarn配置说明;
二、本篇教程用的软件、技术和说明
- yarn是在hadoop安装包里面启动,所以版本跟hadoop的版本一致;
- linux系统:CentOS 7.2;
三、yarn的快速理解
yarn是一个分布式程序的运行调度平台
yarn中有两大核心角色:
- 主节点:Resource Manager (1台)
接受用户提交的分布式计算程序,并为其划分资源;管理、监控各个Node Manager上的资源情况,以便于均衡负载;
Resource Manager一般安装在一台专门的机器上 - 从节点:Node Manager (N台)
管理它所在机器的运算资源(cpu + 内存);负责接受Resource Manager分配的任务,创建容器、回收资源;
Node Manager应该与HDFS中的data node重叠在一起,Node Manager启动多少台是根据在$HADOOP_HOME/etc/hadoop/workers
里面配置的信息
四、yarn的安装位置解析
yarn如3.2所述,在结合我的机器现有部署的程序,我的master启动的是NameNode、DataNode,slave1、slave2启动的是DataNode,所以yarn的NodeManager节点应该安装在master、slave1、slave2上,理论上ResourceManager应该单独一台服务器部署,但是在我这,我就把yarn的主节点安装在master,方便管理(主要是服务器不够用)
yarn最终yarn的部署方案如下:
服务器 | 部署yarn节点 |
---|---|
master | Resource Manager、DataNode |
slave1 | DataNode |
slave2 | DataNode |
五、yarn配置文件与启动
修改配置文件:编辑
$HADOOP_HOME/etc/hadoop/yarn-site.xml
,增加以下内容<property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>1024</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>1</value> </property>
保存好yarn-site.xml后,将该文件复制到slave1、slave2的目录下:
#复制到slave1 scp /usr/local/hadoop-3.2.1/etc/hadoop/yarn-site.xml root@slave1:/usr/local/hadoop-3.2.1/etc/hadoop/ #复制到slave2 scp /usr/local/hadoop-3.2.1/etc/hadoop/yarn-site.xml root@slave2:/usr/local/hadoop-3.2.1/etc/hadoop/
启动yarn:
#随便那台机器上执行: $HADOOP_HOME/sbin/start-yarn.sh
六、yarn配置说明
关于Node Manager启动的数量是跟文件workers里面配置的信息相关;
Resource Manager节点则是在配置文件中yarn.resourcemanager.hostname配置项相关;
默认的为Node Manager分配的运行内存是8G,配置项是yarn.nodemanager.resource.memory-mb,这个参数要根据实际机器的性能进行变换;
默认的为Node Manager分配的逻辑cpu是8核,配置项是yarn.nodemanager.resource.cpu-vcores
默认的web访问端口是8088,比如我的yarn启动后,页面访问路径是:
http://192.168.6.100:8088
可通过如下配置进行修改:<property> <name>yarn.resourcemanager.webapp.address</name> <value>${yarn.resourcemanager.hostname}:8089</value> </property>
yarn的配置项的详细说明在如下地方:
yarn的官方配置文档:hadoop官方网站:yarn官方配置文档