【问题标题】:Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded引起:java.lang.OutOfMemoryError: GC 开销限制超出
【发布时间】:2017-10-05 12:28:31
【问题描述】:

谁能帮我解决 GC 开销错误。

背景: 这是一个猪脚本,它通过 HCATALOGUE 从 4 个配置单元表中加载数据。配置单元表在序列文件中并按日期分区。加载数据大小约为。 24TB。

此脚本已成功运行 16TB。

问题: 尝试从 hive 读取数据时作业失败。此 map reduce 未提交应用程序 ID,甚至在提交应用程序 ID 之前就发生了失败。所以,在 YARN 中找不到日志。

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

请问有什么帮助吗?

谢谢。

【问题讨论】:

    标签: hive heap-memory


    【解决方案1】:

    有两种配置,需要改一下。

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

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

    在 hive 控制台中,只需启动这个,你应该很高兴。

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

    【讨论】:

      猜你喜欢
      • 2017-12-27
      • 2020-09-08
      • 2020-07-24
      • 1970-01-01
      • 2019-06-29
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多