gpt4 book ai didi

hadoop - org.apache.hadoop.mapred.YarnChild : Error running child : java. lang.OutOfMemoryError: Java 堆空间

转载 作者:可可西里 更新时间:2023-11-01 15:15:35 32 4
gpt4 key购买 nike

我有一个 90MB 的 snappy 压缩文件,我试图将其用作 AWS EMR 中 AMI 3.0.4 上的 Hadoop 2.2.0 的输入。

我的记录阅读器在尝试读取文件时立即收到以下异常:

2014-05-06 14:25:34,210 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space
at org.apache.hadoop.io.compress.BlockDecompressorStream.getCompressedData(BlockDecompressorStream.java:123)
at org.apache.hadoop.io.compress.BlockDecompressorStream.decompress(BlockDecompressorStream.java:98)
at org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:85)
at java.io.InputStream.read(InputStream.java:101)
at org.apache.hadoop.util.LineReader.readDefaultLine(LineReader.java:211)
at org.apache.hadoop.util.LineReader.readLine(LineReader.java:174)
at org.apache.hadoop.util.LineReader.readLine(LineReader.java:365)
...

我在 AWS 中使用默认内存和 io.sort.mb 在 m1.xlarge 上运行。如果我们解压缩文件并将其用作输入,而不是一切正常。问题是我们有大量的压缩文件,不想四处解压所有东西。

我不确定我们的代码中是否缺少配置设置或连接。不确定如何进行。

最佳答案

根据您提供的日志,解压 block 的大小似乎超过了您的可用堆大小。

我不知道 EMR 上的 m1.large 实例规范,但这里有一些你可以尝试避免这个错误的事情。

通常错误运行子意味着,yarn spawned child cannot find enough heap space to continue its MR job.

尝试的选项:

1) 增加mapred.java.child.opts尺寸。它是子进程作为其单独的 JVM 进程获得的默认大小。默认情况下,它的 200mb,对于任何合理的数据分析来说都是很小的。更改参数 -XmxNu (以 u 为单位的 N 的最大堆大小)和 -XmsNu (N 的初始堆大小,以 u 为单位)。尝试 1Gb,即 -Xmx1g 并查看效果,如果成功则变小

2) 设置 mapred.child.ulimit为之前设置的最大堆大小的 1.5 或 2 倍。它为进程设置虚拟内存量。

3) reduce mapred.tasktracker.map.tasks.maximummapred.tasktracker.reduce.tasks.maximum设置同时运行的并行映射器和缩减器的最大数量。

4) io.sort.mb - 你已经尝试过了。尝试一下 0.25*mapred.child.java.opts < io.sort.mb < 0.5*mapred.child.java.opts .

最后,这是一种试错法,所以试试看哪一个坚持。

关于hadoop - org.apache.hadoop.mapred.YarnChild : Error running child : java. lang.OutOfMemoryError: Java 堆空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23498940/

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