gpt4 book ai didi

hadoop - 如何确定并行映射器/缩减器的数量以及堆内存?

转载 作者:可可西里 更新时间:2023-11-01 14:50:33 26 4
gpt4 key购买 nike

假设我有一个在 11 节点集群上运行的 EMR 作业:m1.small 主节点和 10 个 m1.xlarge 从节点。

现在一个 m1.xlarge 节点有 15 GB 的 RAM。

然后如何确定可以设置的并行映射器和缩减器的数量?

我的工作是内存密集型的,我希望有越来越多的堆分配给 JVM。

另一个相关问题:如果我们设置以下参数:

 <property><name>mapred.child.java.opts</name><value>-Xmx4096m</value></property>
<property><name>mapred.job.reuse.jvm.num.tasks</name><value>1</value></property>
<property><name>mapred.tasktracker.map.tasks.maximum</name><value>2</value></property>
<property><name>mapred.tasktracker.reduce.tasks.maximum</name><value>2</value></property>

那么这 4GB 是由 4 个进程(2 个 mapper 和 2 个 reducer)共享,还是每个进程都获得 4GB?

最佳答案

他们每人将获得 4gb。

您应该检查任务跟踪器和数据节点的堆设置是什么,然后您就会知道有多少内存可以分配给子节点(实际的映射器/缩减器)。

那么这只是一种平衡行为。如果您需要更多内存,则需要更少的映射器/缩减器,反之亦然。

还要记住您的 CPU 有多少个内核,您不希望在一个内核上执行 100 个 map task 。要进行调整,最好随着时间的推移监视堆使用情况和 CPU 利用率,这样您就可以摆弄旋钮。

关于hadoop - 如何确定并行映射器/缩减器的数量以及堆内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13261026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com