MRv1 角色
-
JobTracker
- 外围,主,单点
- 调度所有作业
- 监控整个集群的资源负载
-
TaskTracker
- 从,本身节点资源管理
- 和 JobTracker 心跳,汇报资源,被动获取 Task
-
Client
- 作业为单位
- 布局作业计算散布
- 提交作业资源到 HDFS
- 最终作业提交到 JobTracker
弊病
- JobTracker:负载过重,单点故障
- 资源管理与计算调度强耦合,其余计算框架须要反复实现资源管理
- 不同框架对资源不能全局治理
YARN
- 客户端 client 将工作提交给 ResourceManager(资源的齐全掌控者,长服务)
- ResourceManager 找一台资源闲暇的服务器启动一个过程:ApplicationMaster(任务调度者,短服务)
- ApplicationMaster 不理解集群资源,须要向 ResourceManager 申请工作资源
- ApplicationMaster 找到对应节点启动创立容器 Container
- NodeManager(长服务)向 ResourceManager 汇报 Container 信息和节点资源状况
MRv2 On Yarn
-
Yarn:解耦资源与计算
-
ResourceManager
- 主,外围
- 集群节点资源管理
-
NodeManager
- 与 ResourceManager 汇报资源
- 治理 Container 生命周期
-
-
MR
-
MR-ApplicationMaster-Container
- 作业为单位,调配到不同节点,防止单点故障
- 创立 Task 须要向 ResourceManager 申请资源
- Task-Container
-
YARN : Yet Another Resource Negotiater
- 核心思想:将 JobTracker 和资源管理和任务调度两个性能离开。别离由 ResourceManager 和 ApplicationMaster 过程实现。
- ResourceManager:负责整个集群的资源管理
- ApplicationMaster:负责应用程序的任务调度,工作监控
-
YARN 的引入,使得多个计算框架可运行在一个集群中
- MapReduce,Spark,Strom
- 每个应用程序对应一个 ApplicationMaster