1. JobName
指定有意义JobName, 一般是自己的名字 Job作用。
代码语言:javascript复制mapred.job.name="xxx_test"
2. Reduce的个数
说明1
代码语言:javascript复制mapred.reduce.tasks
3. Job的task并发数
代码语言:javascript复制# mapper
mapred.job.max.map.running
# reducer
mapred.job.max.reduce.running
4. 设置Job的失败比例
代码语言:javascript复制# mapper
mapred.max.map.failures.percent
# reducer
mapred.max.reduce.failures.percent
5. 设置Job的优先级
代码语言:javascript复制mapred.job.priority
# LOW、VERY_LOW、NORMAL、HIGH、VERY_HIGH 五种类型
6. 设置task的超时时间
代码语言:javascript复制mapred.task.timeout
# (单位:毫秒)
7. 预测执行
代码语言:javascript复制mapred.map.tasks.speculative.execution // 默认打开为true,关闭请显式设置为false
mapred.reduce.tasks.speculative.execution // 默认打开为true,关闭请显式设置为false
- 如果用户不主动设置Reduce个数,系统默认启动一个Reduce。如果用户处理数据量过大(>10G),则会影响Reduce的处理速度。 根据map的输出量合理设置reduce的个数,请确保每个reduce处理的数据不超过10G 通过如下参数指定reduce个数.