MapReduce任务参数调优
本文主要记录Hadoop 2.x版本中MapReduce参数调优,不涉及Yarn的调优。
Hadoop的默认配置文件(以cdh5.0.1为例):
说明:
在hadoop2中有些参数名称过时了,例如原来的
mapred.reduce.tasks
改名为mapreduce.job.reduces
了,当然,这两个参数你都可以使用,只是第一个参数过时了。
1. 操作系统调优
- 增大打开文件数据和网络连接上限,调整内核参数
net.core.somaxconn
,提高读写速度和网络带宽使用率 - 适当调整
epoll的文件描述符
上限,提高Hadoop RPC并发 -
关闭swap
。如果进程内存不足,系统会将内存中的部分数据暂时写入磁盘,当需要时再将磁盘上的数据动态换置到内存中,这样会降低进程执行效率 - 增加
预读缓存区
大小。预读可以减少磁盘寻道次数和I/O等待时间