① Map 的数量通常是由 Hadoop 集群的数据块大小(输入文件的总块数)确定的,正常的 Map 数量的并行规模大致是每一个 Node 是10~100个。
② 正常Reduce任务的个数应该是0.95或者1.75*(节点数*CPU数量)。
(1)如果任务数是节点个数的0.95倍,那么所有的Reduce任务能够在 Map任务的输出传输结束后同时开始运行。
(2)如果任务数是节点个数的1.75倍,那么高速的节点会在完成他们第一批Reduce任务计算之后开始计算第二批 Reduce任务。
1、如何确定 Hadoop map和reduce的个数–map和reduce数量之间的关系是什么?
http://www.aboutyun.com/thread-6945-1-1.html
2、Hadoop 中 map任务数,reduce任务数 和机器节点数之间是什么关系?
https://www.zhihu.com/question/26816539
3、MapReduce过程中,如果Map之后每个Key对应Value的数量不平衡会不会影响效率?
https://www.zhihu.com/question/32054214
4、hadoop性能调优笔记
http://heipark.iteye.com/blog/1146838