引起:java.lang.OutOfMemoryError:超出GC开销限制

问题描述 投票:0回答:1

你能帮我解决一下GC开销错误吗?

背景:这是一个pig脚本,通过HCATALOGUE从4个hive表加载数据。 hive表是按顺序文件并按日期分区。负载数据大小约为。 24TB。

此脚本已成功运行16TB。

问题:尝试从配置单元读取数据时作业失败。没有为此映射提交应用程序ID,甚至在提交应用程序ID之前就会发生故障。所以,找不到YARN中的日志。

我尝试将yarn.app.mapreduce.am.resource.mb修改为6G,mapreduce.map.memory.mb(6GB),mapreduce.map.java.opts(6GB的0.8%),mapreduce.reduce.memory.mb( 8GB)和mapreduce.reduce.java.opts。仍然得到相同的错误。

对此有何帮助?

谢谢。

hive heap-memory
1个回答
2
投票

有两种配置需要更改。

1.-XX:+ UseConcMarkSweepGC =使GC更频繁。

  1. -XX:-UseGCOverheadLimit =停止容器被杀,甚至等待更长时间。

在蜂巢控制台,只是解雇这个,你应该好好去。

蜂巢> SET mapred.child.java.opts=-Xmx4G -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit;

© www.soinside.com 2019 - 2024. All rights reserved.