2016-04-19 5 views
0

スパーククラスターがスタンドアロンクラスターであるとします。 1GBのメモリを持つマスタと1GBのメモリを持つスレーブ。Spark APPにクラスタを割り当てるよりも多くのメモリを割り当てることはできますか?

クラスタにアプリケーションを送信するときに、ドライバプログラムとワーカープログラムが保持できるメモリ量を指定できます。 10Gbから10Gbのような高い値をワーカーに指定することは可能でしょうか?

あなたが提出したプログラムが自分よりも多くのメモリを必要としている場合、どうなるでしょうか。 (物理的なコンピュータに十分なメモリがあると仮定しましょう)

答えて

0

スパークには「ダイナミックアロケーション」という機能があります。それはあなたのリソースマネージャがアクセス権を持っているよりも多くのメモリを要求した場合、あなたはあなたの労働者のすべてを割り当てられませんここ http://www.slideshare.net/databricks/dynamic-allocation-in-spark

0

spark.dynamicAllocation.enabled = true 

詳細を使用してオンにすることができます。リソースマネージャは可能な限り多くのリソースを割り当て、少なくとも1人のワーカーが割り当てられていれば、あなたのプログラムは(少なくともYARN上で)実行することができます。リソースマネージャは、要求されたメモリよりも少ないメモリでワーカー(またはドライバ)を割り当てません。部分的な労働者のようなものはありません。

関連する問題