** WHAT**
YARN:集群资源管理系统
Structure:
- ResourceManager:整个集群只有一个,负责集群资源的统一管理和调度
- 处理客户端请求
- 启动/监控ApplicationMaster
- 监控NodeManager
- 资源分配与调度
- NodeManager:整个集群有多个,负责单节点资源管理和使用
- 单个节点上的资源管理和任务调度
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令
- ApplicationMaster:每个应用有一个,负责应用程序的管理
- 数据切分
- 为应用程序申请资源,并进一步分配给内部任务
- 任务监控与容错
- Container:
- 对任务运行环境的抽象
- 描述一系列信息
- 任务运行资源(节点、内存、CPU)
- 任务启动命令
- 任务运行环境
YARN架构(物理上):
YARN运行过程:
WHY
-
运维成本:
如果采用“一个框架一个集群”的模式,则可能需要多个管理员管理这些集群,进而增加运维成本,而共享模式通常需要少数管理员即可完成多个框架的统一管理。 -
数据共享:
随着数据量的暴增,跨集群间的数据移动不仅需花费更长的时间,且硬件成本也会大大增加,而共享集群模式可让多种框架共享数据和硬件资源,将大大减小数据移动带来的成本。
WHERE