YARN/MRv2 Resource Manager深入剖析—RM总体架构
在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)。本文介绍了ResourceManager实现。
{关注大规模数据处理,包括Hadoop,YARN,Spark,Flink,Presto等}
在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)。本文介绍了ResourceManager实现。
本文介绍YARN自带的一个非常简单的应用程序实例—distributedshell的使用方法。它可以看做YARN编程中的“hello world”,主要功能是并行执行用户提供的shell命令或者shell脚本。
本文介绍了YARN带来的好处,包括更快地MapReduce计算,对多框架支持和框架升级更容易。
Tez直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,这样,这些分解后的元操作可以灵活组合,产生新的操作,最终形成一个大的DAG作业。
本文介绍了浅谈Apache Tez中的优化技术中的优化技术,包括AM缓冲池,预启动container和重用container等。
Tez是Apache最新开源的DAG计算框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等这些分解后的元操作可以任意灵活组合,产生新的操作,进而形成一个大的DAG作业。
公司一般希望将所有这些框架部署到一个公共的集群中,让它们共享集群的资源,并对资源进行统一使用,这样,便诞生了资源统一管理与调度平台,典型代表是Mesos和YARN。本文总结了资源统一管理与调度平台产生背景以及它们所应具有的特点,并对比了当前比较有名的资源统一管理与调度平台Mesos和YARN。
随着集群规模和负载增加,MapReduce JobTracker在内存消耗,线程模型和扩展性/可靠性/性能方面暴露出了缺点,为此需要对它进行大整修,进而出现了下一代MapReduce架构。