【问题标题】:How do I decide number of mappers for camus?如何确定 camus 的映射器数量?
【发布时间】:2016-02-06 04:52:56
【问题描述】:

我刚开始接触加缪。

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

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

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

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

【问题讨论】:

    标签: hadoop apache-kafka camus


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我在article找到了最佳答案

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

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

      最好至少花费一分钟的时间来执行地图。

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-03
        • 1970-01-01
        • 2020-08-02
        • 2011-01-05
        • 2020-11-04
        • 1970-01-01
        • 2014-06-09
        • 1970-01-01
        相关资源
        最近更新 更多