YARN是一个分布式的资源管理系统。YARN是Hadoop系统的核心组件,主要功能包括负责在Hadoop集群中的资源管理,负责对作业进行调度运行以及监控。

基本概念

名称

描述

ResourceManager

负责集群的资源管理与调度,为运行在YARN上的各种类型作业分配资源。

非HA集群部署在EMR的Master节点上,HA集群部署在EMR的多个Master节点上,保证了高可用性。

NodeManager

负责节点的资源管理、监控和作业运行。

部署在EMR的Core或Task节点上。

MRHistoryServer(MapReduce History Server)

解析MapReduce作业的指标,并展示作业执行情况。

定期删除过期的聚合日志。

TimelineServer

收集作业的指标,并展示作业执行情况。

说明

该组件仅用于监控单个作业的资源使用情况,不会导致数据作业的开发、运行和提交失败。

WebAppProxyServer

负责作业链接跳转,降低基于Web的攻击。

ApplicationMaster

负责应用程序相关事务。

例如,ApplicationMaster负责协调来自ResourceManager的资源,并通过NodeManager进行监控和资源管理等。

优势

EMR集群中的YARN优势如下:

  • 高可用集群可以自动开启YARN HA部署。

  • 便捷的运维。

    例如,支持通过控制台的方式进行节点扩容,NodeManager下线和滚动重启等操作。

  • 支持监控报警。

    可以对各项指标进行监控和智能报警。

  • 弹性伸缩支持优雅下线功能。

    可以在一段时间内等待用户任务执行结束后再下线,而不是直接下线NodeManager导致大量任务重新计算。