Hadoop/MapReduce性能优化------参数调优

时间:2022-06-08 18:26:46

Hadoop/MapReduce参数调优

Hadoop性能优化涉及以下几个方面:

1.   CPU利用率

2.   内存占用情况

3.   磁盘I/O

4.   网络流量

        与工作负载相关的Hadoop性能优化需要关注以下三个方面:系统硬件、系统软件、Hadoop基础设施组件配置和调优。系统管理员可以通过各种配置选项对Hadoop集群进行优化。在建立和维护Hadoop集群时,Hadoop可以根据用户自行添加的参数信息进行配置,可以通过对安装完成后自动生成的配置信息进行默认设置。

       配置选项主要分为一下两类:

                  一类是默认配置文件,包括core-default.xml、hdfs-default.xml、mapred-default.xml。

                 另一类是站点特定配置文件,包括core-site.xml、hdfs-site.xml、mapred-site.xml。该类中有大量变量可供管理员进行配置以满足系统的需要。

 

(1)  mapred-site.xml配置文件

该配置文件对提高Mapreduce性能有关键作用,包含了对CPU、内存、磁盘I/O和网络的相关配置项。

与CPU相关的参数

变量名称

描述

默认值

 

mapred.tasktracker.map.tasks.maximum

该变量用来设置TaskTracker同时运行的map任务最大数目

 

2

 

mapred.tasktracker.reduce.tasks.maximum

该变量用来设置TaskTracker同时运行的reduce任务最大数目

 

2

       该参数设置需要考虑TaskTracker资源利用率,以及运行作业是不是CPU密集型作业。即该参数的配置不仅要考虑硬件的配置,还要考虑作业的调度模式。如果是实用的fair的调度模式,map和reduce的并发数可以设置为相同,没有问题,但是如果是FIFO模式,即作业是一个串行的任务,在reduce任务可以运行之前,需要等待所有map任务完成,那么map或是reduce阶段,CPU的核数可能没有得到充分的利用,FIFO模式下,应尽量配置的map并发数量多于redcue并发数量,而且该参数在不同的任务节点上可以配置不同。