基于yarn的Hadoop调优

来源:互联网 发布:无间道1细节知乎 编辑:程序博客网 时间:2024/06/05 04:19

Hadoop2推出yarn作为资源管理器,它借鉴了mesos的思想为上层应用提供统一的资源管理和调度。首先ResourceManager(RM)通过NodeManager(NM)不断得到集群整体资源的视图,这些资源包括CPU、内存等,而且是以Container的形式表现的。ApplicationMaster对应用户提交的应用,比如MapReduce,这一计算Job的数据分布在若干节点上,它首先通过RM了解数据所在节点的资源情况,一旦获得满足要求的Container,即与此节点上的NM通讯并启动相应的计算任务。相较于Hadoop1,PM与AM分别承担了NameNode分配资源和完成计算任务的两大职责,并将二者加以分离。

Yarn表示资源利用不再简单的以slot为单位来考量,而是综合CPU、内存等所有可用资源,但是我们的计算任务,比如MapReduce依然需要通过map/reduce的Task 总数来衡量所需资源,进而通过优化blocksize、spill、buffer、merge等相关参数来优化Hadoop集群的性能。这些优化就是对通过Container获取到的资源更加合理充分的使用,最大限度的提高系统的吞吐量。

综合上述,对Hadoop2的优化分为两部分,分别为Yarn和传统的HDFS、Mapred。那么,对于Spark而言也是如此,Yarn相关参数的设置和优化并不涵盖对计算任务如何有效使用资源的优化。当然,Yarn的推出使得Hadoop可以支持更多类型的计算任务。

0 0
原创粉丝点击