2016-11-01 19 views
1

私はHadoop上でSparkを使用しており、Sparkが仮想メモリを実行者に割り当てる方法を知りたいと思っています。Sparkで仮想メモリはどのように計算されますか?

YARN vmem-pmemによると、コンテナに仮想メモリを2.1倍与えます。

したがって、XMXが1   GBの場合、 - > 1 GB * 2.1 = 2.1   GBがコンテナに割り当てられます。

Sparkではどのように動作しますか?そして、以下のステートメントは正しいですか?

私は、その後、= 1ギガバイト= 1ギガバイト

合計仮想メモリ* 2.1 * spark.yarn.executor.memoryOverheadをキュータのメモリを与えた場合。これは本当ですか?

もしそうでなければ、Sparkで計算されたエグゼキュータの仮想メモリはどのようになっていますか?スパークキュータリソース、糸クライアント糸クラスタモードの

+0

http://stackoverflow.com/questions/21005643/container-is-running-beyond-memory-limits。私はこれがあなたを助けることを願って – Backtrack

+0

私の答えをチェックしてくださいできますか? – Backtrack

答えて

0

同じ構成を使用:火花defaults.confには

Enter image description here

、spark.executor.memory 2  ギガバイトに設定されています。

私はからこれを得た:Resource Allocation Configuration for Spark on YARN

+0

http://spark.apache.org/docs/latest/running-on-yarn.html executorMemory * 0.10、最小値は384です。どちらが正しいか知りたいです。しかし、私が持っている主な質問は、SPARKの場合、YARNはvmem-pmem(デフォルト2.1)を使って仮想メモリを計算し、そのメモリにオーバーヘッドを追加するかどうかです。このような場合、SPARKコンテナへの1GBのメモリの場合、仮想メモリ全体は1 * 2.1 *オーバーヘッドになりますか?この声明は正しいですか? – Anuj

+0

http://stackoverflow.com/questions/31646679/ever-increasing-physical-memory-for-a-spark-application-in-yarnの問題に応じて 構成は次のとおりです。 spark.executor.memory = 32 GB spark.yarn.executor.memoryOverhead = 6 GB どのように仮想メモリが152 GB(エラーメッセージごとに)として計算されるのですか? それは(32 + 6)* 4 = 152ここで4はyarn.nodemanager.vmem-pmem-ratioですか? – Anuj

関連する問題