2016-06-24 6 views
3

私はスパークストリーミングジョブを実行しています。私の仕事のためにスパーク作業者が一定期間実行した後に死亡

マイクラスタの設定

Spark version - 1.6.1 
spark node config 
cores - 4 
memory - 6.8 G (out of 8G) 
number of nodes - 3 

Iは、ノードと、総コアあたりの6ギガバイトのメモリを与えている - 3

を仕事は私が次のエラーを取得しています、時間で実行された後、作業者ログ

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f53b496a000, 262144, 0) failed; error='Cannot allocate memory' (errno=12) 
    # 
    # There is insufficient memory for the Java Runtime Environment to continue. 
    # Native memory allocation (mmap) failed to map 262144 bytes for committing reserved memory. 
    # An error report file with more information is saved as: 
    # /usr/local/spark/sbin/hs_err_pid1622.log 

私の仕事-dir/app-id/stderrではエラーは表示されません。

通常、spark workerの実行に推奨されるxm *設定とは何ですか?

この問題をさらにデバッグするにはどうすればよいですか?

PS:私は作業者とマスターをデフォルト設定で開始しました。

アップデート:私は私の執行が追加され、エラーのために頻繁に取り除かなっている参照

"cannot allocate memory".

ログ:私は同じsituation.Iで理由を見つけるを持っている

16/06/24 12:53:47 INFO MemoryStore: Block broadcast_53 stored as values in memory (estimated size 14.3 KB, free 440.8 MB) 
    16/06/24 12:53:47 INFO BlockManager: Found block rdd_145_1 locally 
    16/06/24 12:53:47 INFO BlockManager: Found block rdd_145_0 locally 
    Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f3440743000, 12288, 0) failed; error='Cannot allocate memory' (errno=12) 
+0

plsはこのhttps://support.datastax.com/hc/en-us/articles/205610783をchcekオペレーティングシステムが使用するメモリー量をチェックし、ワーカーノードのための残りのメモリを割り当てます-FAQ- Spark-Worker-Memory-なぜ別の場所に設定するのか - –

答えて

1

公式ドキュメント、それは言った:

一般的に、スパークは実行することができます1マシンあたり8GBから数百ギガバイトのメモリを備えています。すべての場合、Sparkのメモリの最大75%しか割り当てないことをお勧めします。残りの部分はオペレーティングシステムとバッファキャッシュのままにしておきます。

あなたの計算メモリはワーカーノード用です。したがって、オペレーティングシステムが2GBを超えるメモリを使用していた場合、ワーカーノードに十分なメモリが残っていないとワーカーが失われます。 *だけ*

+0

私はずっと前の公式の文書http://spark.apache.org/docs/latest/hardwareから解決策を使用しました-provisioning.html – Knight71

+0

あなたはこの問題を解決したと思います。私はここで新しいです。 – Fang

+0

質問を終了していただきありがとうございます。学習をお楽しみください。 – Knight71

関連する問題