Hadoop 2.X -- YARN

YARN最初设计是为了解决Hadoop中MapReduce计算框架中的资源管理问题,但现在它已经是一个更加通用的资源管理系统,可以把MapReduce计算框架作为一个应用程序运行在YARN系统之上,通过YARN来管理资源。

如果你的应用程序也需要借助YARN的资源管理功能,你也可以实现YARN提供的API,将应用程序运行于YARN之上,资源分配与回收统一交给YARN去管理,可以大大简化资源管理功能的开发。

当前,也有很多应用程序已经可以构建于YARN之上,如Storm、Spark等计算框架。


YARN Client提交Application到ResourceManager,它会首先创建一个Application上下文件对象,并设置ApplicationMaster必需的资源请求信息,然后提交到ResourceManager。YARN Client也可以与RM通信,获取到一个已经提交并运行的Application的状态信息等,具体详见后面ApplicationClientProtocol协议的分析说明


ResourceManager是YARN集群的Master,负责管理整个集群的资源和资源分配。

ResourceManager作为集群资源的管理和调度的角色,如果存在单点故障,则整个集群的资源都无法使用。


NodeManager是集群中实际拥有实际资源的工作节点,主要负责启动应用所需的容器,监控资源的使用情况并将之汇报给调度器。Client提交Job以后,会将组成Job的多个Task调度到对应的NodeManager上进行执行。


ApplicationsManager:负责接收作业,协商获取第一个容器用于执行ApplicationMaster和提供重启失败ApplicationMaster container的服务。


ApplicationMaster:负责同调度器协商以获取合适的容器,并跟踪这些容器的状态和监控其进度。


Container:容器中封装了机器资源,如内存,CPU, 磁盘,网络等,每个任务会被分配一个容器,该任务只能在该容器中执行,并使用该容器封装的资源。


02002706_5WQe.gif



10002743_eZ80.png


参考资料:

[0]  MapReduce NextGen aka YARN aka MRv2

http://hadoop.apache.org/docs/r2.7.0/hadoop-yarn/hadoop-yarn-site/index.html


[1] Hadoop YARN架构设计要点

http://shiyanjun.cn/archives/1119.html


转载于:https://my.oschina.net/darionyaphet/blog/423672

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值