什么是YARN
另一个资源管理器(YARN)将编程提升到了Java之外的一个更高的水平,并使其与其他应用程序Hbase、Spark等互动工作。不同的YARN应用程序可以在同一个集群上共存,因此MapReduce、Hbase、Spark等都可以同时运行,带来了管理能力和集群利用率方面的巨大优势。
YARN的组件
- 客户端: 用于提交MapReduce作业。
- 资源管理器: 管理集群上资源的使用。
- 节点管理器: 在集群中的机器上启动和监视计算容器。
- Map Reduce应用程序主节点: 检查运行中的MapReduce作业的任务。应用程序主节点和MapReduce任务在由资源管理器调度并由节点管理器管理的容器中运行。
JobTracker和TaskTracker是Hadoop先前版本中使用的,负责处理资源和检查进程管理。然而,Hadoop 2.0具有资源管理器和节点管理器来克服JobTracker和TaskTracker的不足之处。
YARN的优势
- 可扩展性: MapReduce 1在4000个节点和40000个任务时达到了可扩展性瓶颈,而YARN的设计目标是支持10000个节点和1 lakh个任务。
- 利用率: 节点管理器管理一组资源,而不是一定数量的指定槽位,从而提高了利用率。
- 多租户: 不同版本的MapReduce可以在YARN上运行,使得升级MapReduce的过程更容易管理。