资源调度框架Yarn

Yarn(Yet Another Resource Negotiator)产生背景

   Hadoop1.x时:

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

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

    TaskTracker:定期向JT汇报节点的健康状况,资源使用情况,作业执行情况;

                         接收来自JT的命令:启动任务/杀死任务

  存在问题:单点故障,节点压力大不易扩展,不支持其他框架

资源调度框架Yarn_第1张图片

资源利用率低和运维成本高

好处:不同计算框架可以共享同一个HDFS集群上的数据,享受整体资源调度,与其他计算框架共享集群资源,按照资源需要分配,进而提高集群资源利用率。yarn的设计减少了JobTracker的资源消耗,减少了hadoop1.0中发生单点故障的风险。


Yarn架构:

ResourceManager:

   整个集群同一时间提供服务的RM只有一个,负责集群资源统一管理和调度。

   处理客户端请求:提交/杀死一个作业

  监控NM,一旦某个NM挂了,那么NM上运行的任务需要告诉我们的AM

   启动并监控Application Master

   监控NodeManager

NodeManager:

    整个集群中有多个,负责自己本身节点资源管理和使用

    定时向RM汇报节点的资源使用情况

    接收并处理来自RM的各种命令:启动Container

     处理来自AM命令:启动容器

ApplicationMaster:

    每个应用程序对应一个,负责应用程序管理

    为应用程序向RM申请资源(core,memory),分配给内部task

    需要与NM通信:启动/停止task

     task和AM是运行在container

     负责数据切分

    监控任务的执行及容错

Container:

    封装了CPU,Memory等资源的一个容器

    是一个任务运行环境的抽象

Client:

   提交作业

   查询作业的运行进度

   杀死作业


Yarn执行流程:

Yarn环境搭建:

    yarn-site.xml

    mapred-site.xml

    start-yarn.sh

    jps/http:master:8088

 提交mapreduce作业到yarn执行:

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

hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar



你可能感兴趣的:(大数据,Yarn)