如何确定camus的映射器数量?

时间:2015-11-05 11:13:12

标签: hadoop camus

我刚开始使用加缪。

我计划每隔一小时运行一次加缪。我们每小时都会收到〜80000000条消息,平均邮件大小为4KB(我们在Kafka中只有一个主题)。

我首先尝试使用10映射器,复制一个小时的数据花费了大约2小时,创建了大小约为7GB的10个文件。

然后我尝试了300映射器,它将时间缩短到约1小时。但它创建了11个文件。后来,我尝试使用150映射器,花了大约30分钟。

那么,我如何选择这个地图的数量呢?此外,我想在hadoop中创建更多文件,因为一个大小增长到7GB。我需要检查哪些配置?

2 个答案:

答案 0 :(得分:0)

我在article

中找到了最佳答案

地图数量通常由输入文件中 DFS块的数量决定。它会导致人们调整其DFS块大小以调整地图数量。

地图的正确并行级别似乎在 10-100个地图/节点附近,尽管我们已经将 300 用于非常cpu-light地图任务。

最好是地图至少需要一分钟才能执行。

全部取决于您拥有的CPU的功率,应用程序的类型 - IO绑定(重读/写)或 CPU绑定(重处理)和数量Hadoop集群中的节点。

除了在全局级别设置映射器和缩减器的数量之外,还要根据要处理作业需要的数据覆盖作业级别的值。

最后还有一件事:如果您认为 Combiner 减少了 Mapper Reducer 之间的IO转移,请将其有效地结合使用使用分区程序

答案 1 :(得分:0)

理想情况下,在您的主题中,它应该等于或小于您拥有的kafka分区。

这意味着,为了获得更好的吞吐量,您的主题应该有更多的分区和相同数量的camus映射器