2017-10-05 9 views
0

GCのオーバーヘッドエラーを解決するのにお手伝いできますか?原因:java.lang.OutOfMemoryError:GCオーバーヘッドの上限を超えました

背景: これはHCATALOGUEを通じて4つのハイブテーブルからデータを読み込むブタスクリプトです。ハイブテーブルは、シーケンスファイルにあり、日付で区切られています。負荷データのサイズは約です。 24TB。

このスクリプトは16TBで正常に実行されました。

問題: ハイブからデータを読み取ろうとしているときにジョブが失敗します。このマップのためにアプリケーションIDは提出されません。アプリケーションIDが送信される前であってもエラーは発生します。だから、YARNのログを見つけることができませんでした。

6G、mapreduce.map.memory.mb(6GB)、mapreduce.map.java.opts(6GBの0.8%)、mapreduce.reduceにyarn.app.mapreduce.am.resource.mbを変更しようとしました。 memory.mb(8GB)およびmapreduce.reduce.java.opts。 それでも同じエラーが発生します。

お願いします。

ありがとうございます。

答えて

0

2つの構成がありますが、変更する必要があります。

1.-XX:+ UseConcMarkSweepGC = GCをより頻繁に行います。

  1. -XX:-UseGCOverheadLimit =長い時間待っても、コンテナが強制終了されます。

ハイブコンソールでは、ちょうどこれを撃つ、あなたは行かなければならない。

ハイブ>SET mapred.child.java.opts=-Xmx4G -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit;

関連する問題