热度 2|
调优项目 | 调整要领 |
Mapper 的数量 | 运行mapper 需要花多长时间?如果平均每个只需要运行几秒钟,则可以看是否通过能减少maper 的数量让其运行时间长一些。减少mapper 的数量是出于集群整体效率考虑。Mapper 总体运行时间的标准通常为一分钟左右。时间长度取决于使用的输入格式,而文件量的大小对于MapReduce 不是一个问题。 |
Reducer 数量 | Reducer 的数目应设置的比reducer 槽数少一点,这样reducer能够将更多的数据聚类到一次处理。 |
Conbine 函数 | 在map 输出结果到reducer 运行之前,通过增加合并处理,可以减少任务节点间的数据传输量,提高运算效率 |
中间值得产生 | 对map 的输出镜像压缩使作业执行更快一些,可以减少网络传输的数据量 |
自定义序列 | 通过自定义序列格式,提前对要处理的文件镜像组织,可以极大迪提高mapreduce 程序的运行效率 |
Shuffle 运行 | 通过调整任务节点上内存大小,是更多数据能放在内存中进行聚类,一减少对磁盘I/O 的操作 |