Yarn 概述
内存的正确利用
数据的快速处理
可扩展性更强
Yarn 的作用
调度和管理MapReduce 和Spark等Hadoop应用程序的资源分配
支持离线的应用程序处理
实现交互式的分析
提供高可用性支持
使用 Yarn
定义资源管理器
定义应用程序管理器
定义节点管理器
请描述Yarn是什么，以及它的作用是什么？
1 Yarn 概述
YARN（Yet Another Resource Negotiator的首字母简写 ，称为“多资源协调器”）是在Hadoop2.0中出现的一种资源管理机制，是Hadoop的一个子项目，首次发布于2013年10月， 专门用于集群资源管理，也即YARN可以回答以下问题：
在给定的集群环境中，如何完成资源的快速调度？
YARN 具有以下优点：
1.1 内存的正确利用
1.2 数据的快速处理
1.3 可扩展性更强
由于YARN比MapReduce（MapReduce是第一代Hadoop的资源管理系统）拥有更好的优点，因而有的Hadoop系统的使用它来进行资源管理。
2 Yarn 的作用
YARN 是一种分布式计算平台，它可以用于实现分布式集群上的数据处理；广泛用于机器学习和数据挖掘等方向。
YARN可以将分布式集群中的资源整合，更加节约地使用资源，提高资源利用率，提高整个系统计算效率，从而提高数据处理速度。
YARN 能够帮助用户在分布式集群中实现很多功能， 如：
2.1 调度和管理MapReduce 和Spark等Hadoop应用程序的资源分配
2.2 支持离线的应用程序处理
2.3 实现交互式的分析
2.4 提供高可用性支持
3 使用 Yarn
3.1 定义资源管理器
首先要定义一个ResourceManager，ResourceManager会负责集群的资源使用情况，它会收集集群节点上的资源使用情况，包括CPU，内存，磁盘等，并通过集群节点上的应用程序来最优地使用这些资源。这些信息会通过网络传输给ResourceManager，从而实现资源的管理。
3.2 定义应用程序管理器
定义一个ApplicationManager，它的主要作用是用来管理用户的应用程序，它会生成用户的应用程序实例。它由ResourceManager调度，并负责应用程序的安装，运行，停止，收集过程中产生的信息，以及收集应用程序运行过程中产生的日志等。
3.3 定义节点管理器
YARN 还提供了一个NodeManager，它比较重要，因为NodeManager是节点资源管理器，它确实执行有关系统节点和服务进程之间的管理和调度工作，因此可以让资源更好被利用，而且也可以提高整个系统的性能。
YARN 还可以为使用者提供集群规划和调度的控制，可以让用户可以更好的进行集群管理和数据处理，从而节省时间成本和资源消耗，提高整个系统的性能。
如何在MapReduce on Yarn集群中进行作业优化？
如何在MapReduce on Yarn集群中进行容错处理？
如何对MapReduce on Yarn集群进行扩容？
如何对Yarn集群进行扩容？
如何解决MapReduce on Yarn集群中的数据倾斜问题？
Http协议首部字段
10分钟快速熟悉hbase操作命令
如何处理Flink集群中的故障？
如何在redis集群中解决数据不一致问题？
如何对 ES 集群进行节点管理？
你如何实现模块化结构设计？