gpt4 book ai didi

java - Hadoop copyFromLocal 内存不足问题

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

我正在尝试将包含 1,048,578 个文件的目录复制到 hdfs 文件系统中,但是出现以下错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2367)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:130)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:114)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:415)
at java.lang.StringBuffer.append(StringBuffer.java:237)
at java.net.URI.appendSchemeSpecificPart(URI.java:1892)
at java.net.URI.toString(URI.java:1922)
at java.net.URI.<init>(URI.java:749)
at org.apache.hadoop.fs.shell.PathData.stringToUri(PathData.java:565)
at org.apache.hadoop.fs.shell.PathData.<init>(PathData.java:151)
at org.apache.hadoop.fs.shell.PathData.getDirectoryContents(PathData.java:273)
at org.apache.hadoop.fs.shell.Command.recursePath(Command.java:347)
at org.apache.hadoop.fs.shell.CommandWithDestination.recursePath(CommandWithDestination.java:291)
at org.apache.hadoop.fs.shell.Command.processPaths(Command.java:308)
at org.apache.hadoop.fs.shell.Command.processPathArgument(Command.java:278)
at org.apache.hadoop.fs.shell.CommandWithDestination.processPathArgument(CommandWithDestination.java:243)
at org.apache.hadoop.fs.shell.Command.processArgument(Command.java:260)
at org.apache.hadoop.fs.shell.Command.processArguments(Command.java:244)
at org.apache.hadoop.fs.shell.CommandWithDestination.processArguments(CommandWithDestination.java:220)
at org.apache.hadoop.fs.shell.CopyCommands$Put.processArguments(CopyCommands.java:267)
at org.apache.hadoop.fs.shell.Command.processRawArguments(Command.java:190)
at org.apache.hadoop.fs.shell.Command.run(Command.java:154)
at org.apache.hadoop.fs.FsShell.run(FsShell.java:287)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.hadoop.fs.FsShell.main(FsShell.java:340)

最佳答案

问题基本上与 Hadoop 客户端有关。这是通过将“GCOverheadLimit”增加到 4GB 来解决的。以下命令解决了我的问题。

export HADOOP_CLIENT_OPTS="-XX:-UseGCOverheadLimit -Xmx4096m"

关于java - Hadoop copyFromLocal 内存不足问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35405690/

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