有时候我们遇到了Java堆空间错误,而且我们正在增加JVM RAM限制(通过Xmx值)。 我有2个问题请:
1)在更改Xmx值后,我怎么知道群集中应该有多少mapers和reducers?我的意思是,如果我有32G RAM的节点,并具有Xmx值,例如5G,这是否意味着我只能使用6个地图和缩减器(5 * 6 = 30G)?
2)为什么会发生这种情况?我试图阅读所有这个论坛,但没有找到答案。如果我对阅读大量数据的蜂巢有疑问,我知道作业设置从MFS读取数据的映射器数量。每个数据块都会映射到RAM。为什么我需要增加Xmx,不能将数据拆分为更多的映射器?让我说我有1000个映射器的工作,我得到了HEAP空间问题,不能给我2000个映射器,它将解决问题(每个映射将占用更少的RAM,因为它使用更少的数据)?
谢谢!