前言

YARN(Yet Another Resource Manage,另一种资源协调者)是hadoop-0.23版本引入的的一个新的特性,可以说它是对原有Hadoop Mapreduce(Hadoop 1.0)架构的一种里程碑式的改革。它在整个Hadoop生态体系中负责资源管理和作业调度,支持各类分布式应用程序的执行。

本文档的大部分内容参考于Apache Hadoop 2.7.2——YARN官方网站,是对网站内容的翻译加上本人自己的理解,有些内容可能会因为本人的知识水平和英文水平有限而导致理解上存在偏差或不足的地方,还望指正。

概况

Apache Hadoop YARN 是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。它将Hadoop 1.0架构中的JobTracker的两块主要功能(资源管理和任务生命周期管理)拆分成了两个单独的组件:ResourceManager和Application Master。它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

本篇文档主要从以下几个方面介绍YARN。

  • MRv1架构及其存在的缺陷

  • YARN架构及其优点

  • 调度器(Scheduler)

  • RM重启机制(ResourceManager Restart)

  • RM高可用(ResourceManager HA)

  • YARN常用命令

1. MRv1架构及其存在的缺陷

1.1 MapReduce和HDFS简介

在第一代Hadoop系统中,一个Hadoop集群可以分解为两个抽象实体:MapReduce计算引擎和分布式文件系统(HDFS)。其中MapReduce引擎能够在整个集群上执行Map和Reduce任务并报告结果,而HDFS分布式文件系统则提供了一种存储模式,可跨节点复制数据以进行处理。HDFS一般由一个NameNode和多个DataNode组成,其中NameNode是文件系统的主系统,提供元数据服务来执行数据分发和复制,而DataNode是实际储存数据的节点。客户端通过连接NameNode来请求对文件的元数据的访问或修改,而实际的数据复制存储都是发生在DataNode。

  • 查看NameNode所在机器:

    查看hadoop-home/etc/hadoop/hdfs-site.xml的配置文件。

  • 查看DataNode所在机器及状态信息:

    在hadoop-home/bin目录下执行命令./hdfs dfsadmin -report。

1.2 MRv1架构分析