0

我刚从加缪开始。

我计划每隔一小时运行一次加缪。我们80000000每小时处理一次〜消息,平均消息大小为4KB(我们在 Kafka 中有一个主题)。

我第一次尝试使用10映射器,复制一个小时的数据需要大约 2 小时,它创建了 10 个大小约为 7GB 的文件。

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

那么,我该如何选择其中的映射器数量呢?此外,我想在 hadoop 中创建更多文件,因为一种大小增长到 7GB。我必须检查什么配置?

4

2 回答 2

0

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

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

于 2016-05-10T12:12:20.490 回答
-1

我在这篇文章中找到了最佳答案

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

地图的正确并行度水平似乎在10-100 个地图/节点左右,尽管对于非常 cpu-light 的地图任务,我们将其提高到300左右。

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

这一切都取决于您拥有的 CPU 的能力、应用程序的类型 - IO Bound(重读/写)或CPU bound(繁重的处理)以及 Hadoop 集群中的节点数。

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

最后还有一件事:如果您认为Combiner减少了MapperReducer之间的 IO 传输,请结合Partitioner有效地使用它

于 2015-11-05T13:55:23.433 回答