资源调度框架YARN

MapReduce1.x存在的问题:单点故障、节点压力大不易扩展、不能支持处理MapReduce1之外的计算框架

MapReduce:Master/Slave架构,1个JobTracker带多个TaskTracker

JobTracker:负责资源管理和作业调度

TaskTracker:

                    定期向JobTracker汇报节点的健康、资源使用情况、作业执行情况;

                     接受来自JobTracker的命令:启动任务/杀死任务

YARN:不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度

XXX on YARN 的好处:与其他计算框架共享集群资源,按资源需要分配,进而提高集群资源的利用率

XXX:Spark/MapReduce/Storm/Flink

YARN架构:

  1. ResourceManager:RM
    1. 整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度
    2. 处理客户端的请求:提交一个作业、杀死一个作业;
    3. 监控我们的NodeManager,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何进行处理
  2. NodeManager:NM
    1. 整个集群中有多个,负责自己本身节点资源管理和使用
    2. 定时向RM汇报本节点的资源使用情况和健康状况
    3. 接收并处理来自RM的各种命令:启动Container
    4. 处理来自AM的命令
    5. 单个节点的资源管理
  3. ApplicationMaster:AM
    1. 每个应用程序对应一个:MR、Spark,负责应用程序的管理;
    2. 为应用程序向RM申请资源(core、memory),分配给内部task;
    3. 需要与NM通信:启动/停止task,task是运行在Container里面,AM也是运行在Container里面
  4. Container
    1. 封装了CPU、Memory等资源的一个容器
    2. 是一个任务运行环境的抽象
  5. Client
    1. 提交作业
    2. 查询作业的运行进度
    3. 杀死作业

YARN环境搭建

  1. etc/hadoop/mapred-site.xml
    1.    <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
          </property>
  2. etc/hadoop/yarn-site.xml
    1.   <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
          </property>
  3. sbin/start-yarn.sh
  4.  sbin/stop-yarn.sh
    

 提交mr作业到到YARN上运行:

/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar

hadoop jar

hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值