0

私はSparn 1.6.2アプリケーションをYarnでデバッグするのに苦労しています。これはクライアントモードで実行されています。基本的にはクラッシュすることなくロックアップしています。ロックされていると、コンソールのログは以下のようになります。Apache Spark:ブロードキャストでハングアップ

17/03/31 20:12:02 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh007.prod.phx3.gdg:47579 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:03 INFO BlockManagerInfo: Added broadcast_3_piece0 in memory on p3plcdsh011.prod.phx3.gdg:63228 (size: 5.4 KB, free: 511.1 MB) 
    17/03/31 20:12:03 INFO BlockManagerInfo: Added broadcast_4_piece0 in memory on p3plcdsh015.prod.phx3.gdg:9377 (size: 5.4 KB, free: 511.1 MB) 
    17/03/31 20:12:03 INFO BlockManagerInfo: Added broadcast_4_piece0 in memory on p3plcdsh015.prod.phx3.gdg:61897 (size: 5.4 KB, free: 511.1 MB) 
    17/03/31 20:12:03 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh002.prod.phx3.gdg:23170 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:03 INFO BlockManagerInfo: Added broadcast_3_piece0 in memory on p3plcdsh016.prod.phx3.gdg:16649 (size: 5.4 KB, free: 511.1 MB) 
    17/03/31 20:12:04 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh003.prod.phx3.gdg:55147 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:04 INFO BlockManagerInfo: Added broadcast_4_piece0 in memory on p3plcdsh008.prod.phx3.gdg:7619 (size: 5.4 KB, free: 511.1 MB) 
    17/03/31 20:12:04 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh003.prod.phx3.gdg:40830 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:04 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh011.prod.phx3.gdg:20056 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:04 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh008.prod.phx3.gdg:47385 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:04 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh003.prod.phx3.gdg:2063 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:04 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh011.prod.phx3.gdg:63228 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:04 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh008.prod.phx3.gdg:64036 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:05 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh016.prod.phx3.gdg:16649 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:05 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh013.prod.phx3.gdg:31979 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:05 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh013.prod.phx3.gdg:18407 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:05 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh004.prod.phx3.gdg:45536 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:05 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh008.prod.phx3.gdg:50826 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:06 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh015.prod.phx3.gdg:36247 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:06 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh015.prod.phx3.gdg:22848 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:06 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh015.prod.phx3.gdg:9377 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:06 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh015.prod.phx3.gdg:61897 (size: 26.7 KB, free: 511.1 MB) 
    17/03/31 20:12:07 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on p3plcdsh008.prod.phx3.gdg:7619 (size: 26.7 KB, free: 511.1 MB) 

Spark UIでは、ロックアップはマップ機能またはフィルタ機能のいずれかで発生します。

これは誰でも状況が発生する前に発生するか、状況をデバッグする方法を知っていますか?

メモリの問題やスペースの問題が原因である可能性がありますが、それがあるという明示はありません。私は試して、メモリをバンプし、それが役立つかどうかを確認することができますが、誰かがデバッグのヒントを持っていますか?

ありがとうございました

+0

あなたは何を放送していますか? – Vidya

+0

問題をデバッグするとかなり大きめのJavaオブジェクト(圧縮されていないファイル300mbでバックアップされているもの)のように見えますが、それ以外の場合はシリアル化されますが、シリアライゼーション@Vidyaに関するクラッシュの問題があります。シリアル化できるオブジェクトのサイズに制限がありますか、またはオブジェクトの最大サイズをバンプアップする方法はありますか? – adrian

答えて

0

ただシリアル化可能ではありません。この問題は、シリアル化の仕組み(Javaのシリアル化が悪い、Kryoのほうがはるかに優れているなど)、マシンのメモリ、ラップされた値ではなくブロードキャストの値を使用していることなどがあります。

スパーク構成spark.sql.autoBroadcastJoinThresholdもあります:。

は「は参加を実行するとき、すべてのワーカーノードにブロードキャストされるまで-1放送、この値を設定することで、テーブルの最大サイズ(バイト)を無効にすることができる設定に注意してください。現在のところ、統計は、コマンドANALYZE TABLE COMPUTE STATISTICS noscanが実行されているHive Metastoreテーブルでのみサポートされています。

デフォルトは10MBです。

あなたはそのデフォルトの制限を削除し、メモリをたくさん持っている場合最後に、あなたはまだあなたがSizeEstimatorに確認することができ、あなたの最大のRDD/DATAFRAME、より小さくなるようにサイズを好む:

import org.apache.spark.util.SizeEstimator._ 

logInfo(estimate(rdd)) 

最悪の場合は、このファイルをブロードキャストするのではなく、変換の中で稲妻高速のキャッシュデータストアからルックアップを調べます。

関連する問題