hadoop中提高mapreduce作业性能的技巧

fslejnso  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(331)

我有100个绘图机和1个减速机在运行的工作。如何提高工作绩效?
据我了解:使用合路器可以在很大程度上提高性能。但是我们还需要配置什么来提高作业性能呢?

bpsygsoo

bpsygsoo1#

由于此问题中的数据有限(输入文件大小、hdfs块大小、平均Map处理时间、Map器插槽数和集群中的reduce插槽数等),我们无法建议提示。
但是有一些通用的指导方针来提高性能。
如果每个任务所需时间少于30-40秒,请减少任务数
如果一个作业有超过1tb的输入,请考虑将输入数据集的块大小增加到256m甚至512m,这样任务的数量就会更小。
只要每个任务至少运行30-40秒,就将Map器任务的数量增加到集群中Map器插槽数量的几倍
每个作业的reduce任务数应等于或略小于集群中reduce插槽数。
更多提示:
使用正确的诊断工具正确配置集群
将中间数据写入磁盘时使用压缩
根据以上提示调整Map数量并减少任务
在适当的地方合并合路器
使用最合适的数据类型呈现输出(不要使用 LongWritable 当输出值的范围在 Integer 射程。 IntWritable 在这种情况下是正确的选择)
重新使用 Writables 拥有正确的分析工具
请看这篇cloudera文章以获得更多提示。

相关问题