在RecordReader初始化之前,Hadoop EMR作业内存不足

时间:2015-08-10 20:20:48

标签: hadoop out-of-memory heap-memory emr

我试图找出可能导致我的emr作业在开始处理文件输入之前耗尽内存的原因。我得到了一个 " java.lang.OutOfMemoryError无法强制转换为java.lang.Exception"我的RecordReader甚至初始化之前的错误(也就是说,甚至在尝试解压缩文件并处理它们之前)。我正在一个有大量输入的目录上运行我的工作。我可以在较小的输入集上正常运行我的工作。有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

我意识到答案是主节点上的元数据开销过多。主节点必须为每个要处理的文件存储~150 kb的数据。有数百万个文件,这可能是数十亿字节的数据,这太多了,导致主节点崩溃。

这是获取更多信息的良好来源:http://www.inquidia.com/news-and-info/working-small-files-hadoop-part-1#sthash.YOtxmQvh.dpuf