0

有时我们会遇到 Java 堆空间错误,然后我们会增加 JVM RAM 限制(按 Xmx 值)。我有两个问题:

1) 更改 Xmx 值后,如何知道集群中应该有多少映射器和减速器?我的意思是如果我有 32G RAM 的节点,并且 Xmx 值例如到 5G,这是否意味着我只能使用 6 个映射和减速器(5*6=30G)?

2)为什么会发生?我试图阅读所有这个论坛并没有找到答案。如果我对读取大量数据的配置单元进行查询,我知道作业设置了从 MFS 读取数据的映射器的数量。每个数据块都被映射到内存中。为什么我需要增加 Xmx ,不能将数据拆分为更多映射器?假设我有 1000 个映射器的工作,并且我遇到了 HEAP 空间问题,不能蜂巢给我 2000 个映射器,它会解决问题(每个映射将占用更少的 RAM,因为它使用更少的数据)?

谢谢!

4

0 回答 0