一.Hadoop YARN产生背景
Mapreduce1.0版本固有的问题
- 扩展性受限
- 单点故障
- 难以支持MR之外的计算
- 资源利用率
- 运维成本和数据共享【多计算框架各自为战,数据共享困难】
- MR:离线计算框架
Storm:实时计算框架
Spark:内存计算框架 - 运维成本 如果采用“一个框架一个集群”的模式,则可能需要多个管理员管理这些集群,进而增加运维成本, 而共享模式通常需要少数管理员即可完成多个框架 的统一管理。
- MR:离线计算框架
- 数据共享
- 随着数据量的暴增,跨集群间的数据移动不仅需花 费更长的时间,且硬件成本也会大大增加,而共享集群模式可让多种框架共享数据和硬件资源,将大大减小数据移动带来的成本。
二. Hadoop YARN基本构成与资源调度
1.YARN基本架构
- YARN基本架构
- ResourceManager
- 整个集群只有一个,负责集群资源的统一管理和调度
- 详细功能
处理客户端请求
启动/监控ApplicationMaster
监控NodeManager
资源分配与调度
- NodeManager
- 整个集群有多个,负责单节点资源管理和使用
- 详细功能
单个节点上的资源管理和任务管理
处理来自ResourceManager的命令
处理来自ApplicationMaster的命令
- ApplicationMaster
- 每个应用有一个,负责应用程序的管理
- 详细功能
数据切分
为应用程序申请资源,并进一步分配给内部任务
任务监控与容错