Hadoop java mapper -copyFromLocal堆大小错误

时间:2011-09-23 23:26:58

标签: java jvm hadoop heap mapreduce

作为我的Java映射器的一部分,我有一个命令在本地节点上执行一些代码,并将本地输出文件复制到hadoop fs。不幸的是我得到了以下输出:

  

VM初始化期间发生错误

     

无法为对象堆保留足够的空间

我已经尝试将mapred.map.child.java.opts调整为-Xmx512M,但遗憾的是没有运气。

当我进入节点时,我可以运行-copyFromLocal命令而不会出现任何问题。输出文件也很小,大约100kb。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

映射器或缩减器中的无限循环可能导致内存不足错误。

当我使用iterator.hasNext()作为条件时,我遇到了一个OoM,对于reducer值,并没有在循环中调用iterator.next()。