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导致大量任务重新计算。