Hadoop实验-部署Yarn集群

Hadoop实验-部署Yarn集群
一 实验目的
通过本实验了解什么是Yarn框架,如何构建Yarn分布式集群,并能够使用Yarn集群提交一些简单的任务,理解Yarn作为Hadoop生态中的资源管理器的意义。
二 实验内容
构建Yarn集群,并使用Yarn集群提交简单的任务。观察任务提交之后Yarn的执行过程。
三 实验要求
以小组为单元进行实验,每小组5人,小组自协商选一位组长,由组长安排和分配实验任务,具体参加实验内容中实验过程。
四 准备知识
4.1 YARN概述
YARN是一个资源管理、任务调度的框架,采用master/slave架构,主要包含三大模块:ResourceManager(RM)、NodeManager(NM)、ApplicationMaster(AM)。其中,ResourceManager负责所有资源的监控、分配和管理,运行在主节点; NodeManager负责每一个节点的维护,运行在从节点;ApplicationMaster负责每一个具体应用程序的调度和协调,只有在有任务正在执行时存在。对于所有的applications,RM拥有绝对的控制权和对资源的分配权。而每个AM则会和RM协商资源,同时和NodeManager通信来执行和监控task。几个模块之间的关系如图3-1所示:

图4-1 Yarn组件架构
4.2 YARN运行流程
YARN运行流程如图3-2所示:

图4-2 YARN运行流程图
client向RM提交应用程序,其中包括启动该应用的ApplicationMaster的必须信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
ResourceManager启动一个container用于运行ApplicationMaster。
启动中的ApplicationMaster向ResourceManager注册自己,启动成功后与RM保持心跳。
ApplicationMaster向ResourceManager发送请求,申请相应数目的container。
ResourceManager返回ApplicationMaster的申请的containers信息。申请成功的container,由ApplicationMaster进行初始化。container的启动信息初始化后,AM与对应的NodeManager通信,要求NM启动container。AM与NM保持心跳,从而对NM上运行的任务进行监控和管理。
container运行期间,ApplicationMaster对container进行监控。container通过RPC协议向对应的AM汇报自己的进度和状态等信息。
应用运行期间,client直接与AM通信获取应用的状态、进度更新等信息。
应用运行结束后,ApplicationMaster向ResourceManager注销自己,并允许属于它的container被收回。
五 实验步骤
5.1 在master机器上部署Yarn
操作之前请确认HDFS已经启动,具体操作参考之前的实验内容。
指定YARN主节点,编辑文件“/opt/module/hadoop-2.6.5/etc/hadoop/yarn-site.xml”,将如下内容嵌入此文件里configuration标签间:

yarn.resourcemanager.hostname
xulong-master-a589e9ee7398480398643959aa629997-zvp0x-04hz4(自己的主机名)


yarn.nodemanager.aux-services
mapreduce_shuffle

yarn-site.xml是YARN守护进程的配置文件。第一个property配置了ResourceManager的主机名,第二个property配置了节点管理器运行的附加服务为mapreduce_shuffle,只有这样才可以运行MapReduce程序。
在master机上操作:将配置好的YARN配置文件拷贝至slave1、slave2。
cd /opt/module/hadoop-2.6.5/etc/hadoop

scp yarn-site.xml root@172.17.55.2:/opt/module/hadoop-2.6.5/etc/hadoop/
scp yarn-site.xml root@172.17.10.4:/opt/module/hadoop-2.6.5/etc/hadoop/
5.2 统一启动Yarn
Yarn配置无误,统一启动Yarn(在master节点启动进程):
./start-yarn.sh
5.3 验证Yarn启动成功
分别在各个节点上执行如下命令,查看Yarn服务是否已经启动。
一切正常,就会在master节点上看到类似的如下信息:

这表明在master节点成功启动ResourceManager,它负责整个集群的资源管理分配,是一个全局的资源管理系统。
在slave节点上看到类似如下的信息:

NodeManager是每个节点上的资源和任务管理器,它是管理这台机器的代理,负责该节点程序的运行,以及该节点资源的管理和监控。YARN集群每个节点都运行一个NodeManager。
查看Web界面
通过实训平台打开master节点VNC地址,打开浏览器,地址栏输入master的主机名/IP和端口号8088(例:xulong-master-a589e9ee7398480398643959aa629997-zvp0x-04hz4(自己的主机名):8088),即可在Web界面看到YARN相关信息,如图5-1。

图5-1 Yarn Web UI
5.4 在master上提交MapReduce任务
(1)指定在YARN上运行MapReduce任务
首先,在master机上,将文件“ /opt/module/hadoop-2.6.5/etc/hadoop/mapred-site.xml.template”重命名为“ /opt/module/hadoop-2.6.5/etc/hadoop/mapred-site.xml”。
mv /opt/module/hadoop-2.6.5/etc/hadoop/mapred-site.xml.template /opt/module/hadoop-2.6.5/etc/hadoop/mapred-site.xml
接着,编辑此文件并将如下内容嵌入此文件的configuration标签间:

mapreduce.framework.name
yarn

最后,将master机的“ /opt/module/hadoop-2.6.5/etc/hadoop/mapred-site.xml”文件拷贝到slave1,slave2,重新启动集群。
scp mapred-site.xml root@172.17.55.2:/opt/module/hadoop-2.6.5/etc/hadoop/
scp mapred-site.xml root@172.17.10.4:/opt/module/hadoop-2.6.5/etc/hadoop/

(2)在master上提交PI Estimator任务
首先进入Hadoop安装目录:/opt/module/hadoop-2.6.5/,然后提交PI Estimator任务。
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar pi 2 10
命令最后两个两个参数的含义:第一个参数是指要运行map的次数,这里是2次;第二个参数是指每个map任务,取样的个数;而两数相乘即为总的取样数。
5.5 实验结果
【1】提交PI任务之后web界面上看到的。如图5-2所示:

图5-3 提交PI MR任务

六 总结
通过本实验构建Yarn集群,并且使用Yarn集群提交任务,观察结果;使学生了解Yarn框架,以及Yarn运行流程,理解Yarn作为Hadoop生态中的资源管理器的意义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值