版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JiaoKun_/article/details/83149289
MR1.X运行架构总结
MRv1角色
- JobTracker
核心,主,单点
调度所有的作业
监控整个集群的资源负载 - TaskTracker
从,自身节点资源管理
和JobTracker心跳,汇报资源,获取Task - Client
作业为单位
最终提交作业到JobTracker
弊端
- JobTracker:负载过重,单点故障
- 资源管理与计算调度强耦合,其他计算框架需要重复实现资源管理
- 不同框架对资源不能全局管理
MR2.X-Yarn资源调度器
MRv2角色
- ResourceManager
主,核心
集群节点资源管理 - NodeManager
与RM汇报资源
管理Container生命周期 - Container:【节点NM,CPU,MEM,I/O大小,启动命令】
默认NodeManager启动线程监控Container大小,超出申请资源额度,kill
支持Linux内核的Cgroup - ApplicationMaster
作业为单位,避免单点故障,负载到不同的节点
为task申请资源(Task-Container) - Client:
请求资源创建AM
与AM交互