2016-10-18 10 views
1

Spark Streamingアプリケーションが、OutOfmemoryExceptionで失敗し続ける:Javaヒープスペース。DAGスケジューライベントループoutOfMemoryerror:Sparkストリーミングアプリケーションを使用したJavaヒープスペース

私は自分のスパーク送信ジョブに以下の設定を使用しています。

spark-submit \ 
    --class ... \ 
    --master ...\ 
    --deploy-mode cluster \ 
    --executor-memory 1G \ 
    --total-executor-cores 3 \ 
    --driver-memory 2G 

とspark.yarn.driver.memoryOverheadが1Gに設定されています。

ヒープダンプを分析した後、 "DAG scheduler Event Loop"の過剰使用に気付きました。さらに詳しく調べると、CHAR []とbyte []クラスが使用されています。

旧世代GCは、すべて2GBのメモリを占有し、成長を続けています。

これはバグです、あるいは、同じことをさらに分析するために、より多くの情報が必要です。

お手数をおかけします。

+0

ここに解決される?あまりにも多くのスレッド

を作成しているスパーク2.0.0でForkJoinPoolの利用にはバグがあるようですかスパークエグゼキュータのための1Gは、非常に少ないメモリ量です。 JVMランタイムに必要なオーバーヘッドがあることを忘れないでください。とにかく、完全な1Gを得ることはできません。あなたはエグゼクティブの記憶を強化する必要があります。 –

答えて

0

この問題は、あなたはどのくらいのデータを処理しているhttps://issues.apache.org/jira/browse/SPARK-17396

+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 – Skandix

関連する問題