码迷,mamicode.com
首页 > 其他好文 > 详细

YARN

时间:2017-12-30 19:08:03      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:有一个   bsp   一个   组件   运行   log   res   守护进程   aic   

http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

Apache Hadoop YARN

YARN的主要功能包括:资源管理和任务调度及监控,它们各自都是独立的守护进程。要实现这个目标,必须有一个全局的资源管理器和每个应用都有一个ApplicationMaster(AM)。应用可以是单个job,也可以是DAG jobs。

ResourceManager和NodeManager组成数据计算框架。ResourceManager对系统中所有应用的资源拥有最终仲裁权。NodeManager对容器负责,监控它们的资源使用情况,并且将其报告给ResourceManager。

每个应用都有一个ApplicationMaster,它负责向ResourceManager申请资源,并且和NodeManager一起指向和监控任务。

技术分享图片

在这幅图中,有两个客户端都提交了任务,可以看到NodeManager向ResourceManager报告,ApplicationMaster向Resource申请资源并且监控任务执行。

 

ResourceManager有两个主要的组件:Scheduler和ApplicationManager

Scheduler负责分配资源

ApplicationManager负责接受提交的任务,并且分配第一个container为了执行特定的ApplicationMaster。每个应用的ApplicationMaster负责向Scheduler申请适量的资源,并且跟踪资源的状态和监控进度。

 

总结一下:

1、ResourceManager包括Scheduler和ApplicationManager

2、ResourceManager负责集群中所有应用的资源分配(资源包括内存、CPU、磁盘、网络等等)

3、Scheduler只是一个单纯的调度器,负责给不同的应用分配资源

4、每个应用都有一个ApplicationMaster,它负责向ResourceManager申请资源,并且跟踪资源的使用情况还有任务的执行情况

5、NodeManager负责运行并且管理本节点的容器(资源)。AppMaster指定容器来运行任务。(也就是说任务是在容器中运行的)

技术分享图片

 

所以,任务的执行是这样的:

1、客户端提交任务到ResourceManager

2、ApplicationManager接收任务,并且指定一个NodeManager给它分配第一个资源(container)用户执行ApplicationMaster

3、NodeManager启动一个ApplicationMaster

4、AppicationMaster向ResourceManager申请资源(PS:其实是向Scheduler申请),并且监控资源的使用情况,监控任务的执行进度

5、任务开始执行

 

总的来说,AppMaster负责协调并监控资源,NodeManager负责管理本地资源,启动/停止任务

 

参考

http://blog.csdn.net/liuwenbo0920/article/details/43304243

http://blog.csdn.net/paicMis/article/details/53890676

https://www.cnblogs.com/chushiyaoyue/p/5784871.html

 

YARN

标签:有一个   bsp   一个   组件   运行   log   res   守护进程   aic   

原文地址:https://www.cnblogs.com/cjsblog/p/8150644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!