Hadoop参数调优
性能调优涉及4个方面:CPU利用率、内存占用情况、磁盘I/O和网络流量。
有很多因素会对HadoopMapReduce性能产生影响。一般说来,与工作负载相关的Hadoop性能优化需要关注以下3个主要方面:系统硬件、系统软件,以及Hadoop基础设施组件的配置和调优/优化。
需要指出的是,Hadoop被归类为高扩展性解决方案,但却不足以归类为高性能集群解决方案。系统管理员可以通过各种配置选项来配置和调优Hadoop集群。性能配置参数主要关注CPU利用率、内存占用情况、磁盘I/O和网络流量。除了Hadoop主要性能参数以外,其他系统参数,如机架间带宽,也可能影响集群的整体性能。
Hadoop可以按照用户需要进行配置和定制,可以通过对安装完成后自动生成的配置文件进行修改来满足应用和集群的特定需要。
配置文件分为两类,即只读默认配置文件和站点特定配置文件。
第一类包括coredefault.xm、hdfsdefault.xml和mapreddefault.xml。
第二类包括coresite.xml、hdfssite.xml和mapredsite.xml。
Hadoop配置文件中有大量变量,通过定义或者修改这些变量,可以满足控制Hadoop配置的需要。这些变量定义在配置文件core-site.xml、hdfs-site.xml和mapred-site.xml中。其中一些变量用于指定系统中特定文件的路径,而其他变量则用于从不同角度调整Hadoop框架,而且可以从不同粒度深入其内部。每个配置文件都有多个用XML格式表示的名称值对(namevaluepair),它们从不同角度定义Hadoop的工作方式。
从系统硬件的角度看,要衡量合理的硬件配置,需要关注性能、可扩展性及成本要求。从软件的角度看,选择运行Hadoop必需的操作系统、JVM(Java虚拟机)、特定的Hadoop版本以及其他软件组件对于性能以及环境的稳定有着重要的意义。任何Hadoop项目,如果要充分获得Hadoop软硬件分布式解决方案带来的好处,其设计、构建、配置以及调优阶段都意义重大。
mapred-site.xml
mapred-site.xml是提高HadoopMapReduce性能的关键配置文件。这个配置文件包含了与CPU、内存、磁盘I/O和网络相关的参数。
1.CPU参数
与CPU相关的两个参数与CPU利用率关联最为密切。通过修改这些变量,可以指定由TaskTracker节点并发运行的map/reduce任务的最大数量。这两个参数默认值为2。
理论上,