[解決済み] yarn.scheduler.maximum-allocation-mb` と `yarn.nodemanager.resource.memory-mb` の違いについて教えてください。
質問
とはどのような違いがあるのでしょうか?
yarn.scheduler.maximum-allocation-mb
と
yarn.nodemanager.resource.memory-mb
?
の両方が表示されますね。
yarn-site.xml
と説明されているのを見かけます。
ここで
.
yarn.scheduler.maximum-allocation-mb
には次のような定義が与えられている。
RMでのすべてのコンテナ要求に対する最大割り当て量をMBで表したもの。これより大きいメモリ要求はInvalidResourceRequestExceptionをスローする。
これは、resourcemanager上でのメモリ要求のみがこの値で制限されるということでしょうか?
そして
yarn.nodemanager.resource.memory-mb
の定義が与えられています。
コンテナ用に割り当て可能な物理メモリの量(MB)。
これは、クラスタ全体の全コンテナの合計量ということでしょうか?
しかし、私はまだこれらの区別がつきません。 これらの説明では、同じものであるかのように思われます。
さらに紛らわしいのは、デフォルト値が8192mbと全く同じであることです。 どうすればこれらの違いを見分けることができるのでしょうか? ありがとうございました。
解決方法は?
各マシンが48GBのRAMを持つクラスタをセットアップするシナリオを考えてみましょう。このRAMの一部は、オペレーティングシステムと他のインストールされたアプリケーションのために予約されている必要があります。
yarn.nodemanager.resource.memory-mb:
コンテナ用に割り当て可能な物理メモリの量(MB単位)。YARNが利用できるメモリ量を意味する このノードでは したがって、このプロパティは が必要です。 そのマシンの総メモリ量より少ない .
<name>yarn.nodemanager.resource.memory-mb</name>
<value>40960</value> <!-- 40 GB -->
その 次のステップは、利用可能な総リソースをContainersに分割する方法についてYARNガイダンスを提供することです。 . これは、コンテナに割り当てる RAM の最小単位を指定することで実現します。
で
yarn-site.xml
<name>yarn.scheduler.minimum-allocation-mb</name> <!-- RAM-per-container ->
<value>2048</value>
yarn.scheduler.maximum-allocation-mb:
を定義しています。 コンテナで使用可能なメモリ割り当て MB単位
ということは、RMがコンテナに割り当てることができるメモリは
"yarn.scheduler.minimum-allocation-mb"
を超えることはできません。
"yarn.scheduler.maximum-allocation-mb"
また、ノードに割り当てられたメモリの合計を超えないようにする必要があります。
で
yarn-site.xml
<name>yarn.scheduler.maximum-allocation-mb</name> <!-Max RAM-per-container->
<value>8192</value>
MapReduceアプリケーション向け。
YARNは各マップまたはリデュースタスクをコンテナで処理し、1台のマシンにいくつものコンテナが存在することがあります。
.
各ノードで最大 20 個のコンテナを使用できるようにしたいので、(総 RAM 40 GB) / (20 個のコンテナ) = 2 GB をコンテナごとに最低限必要とし、プロパティで制御します。
yarn.scheduler.minimum-allocation-mb
再び、プロパティで制御されるコンテナの最大メモリ使用量を制限したい
"yarn.scheduler.maximum-allocation-mb"
たとえば、あるジョブがマップコンテナごとに 2049 MB のメモリを要求している場合 (
mapreduce.map.memory.mb=2048 set in mapred-site.xml
) に対して、RM は 4096 MB (
2*yarn.scheduler.minimum-allocation-mb
)コンテナです。
9999 MB のマップコンテナを要求する巨大な MR ジョブがある場合、エラーメッセージとともにジョブが強制終了されます。
関連
-
[解決済み】なぜHiveのFetchタスクはMapのみのタスクより速く動作するのですか?
-
[解決済み] HbaseのcheckAndPutとcheckAndMutateの違いは何ですか?
-
[解決済み] コマンドプロンプトからHiveとHadoopのバージョンを知るには?
-
[解決済み] HADOOPでワード数を値でソートする方法は?[重複している]。
-
[解決済み] ハイブがバケットにデータを挿入する際に作成した小さなファイルをマージする方法は?
-
[解決済み] HDFSのHiveプロキシユーザーの最適なソリューションは何ですか?
-
[解決済み] Hive - Hiveサービスのクラスパスを印刷する方法
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
[解決済み] 最初のhadoopプロジェクトエラー。"入力パスが存在しません"
-
[解決済み] hadoop の -libjars に関する問題
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] hadoop.tmp.dirはどうすればいいのでしょうか?
-
[解決済み] hive.tez.container.size と tez.task.resource.memory.mb の違いについて
-
[解決済み] Hadoop-Hiveからテーブルを削除/トランケートする方法は?
-
[解決済み] コマンドプロンプトからHiveとHadoopのバージョンを知るには?
-
[解決済み] HadoopでDatanodeのプロセスが実行されていない
-
[解決済み] ハイブがバケットにデータを挿入する際に作成した小さなファイルをマージする方法は?
-
[解決済み] Pig:FLATTENキーワード
-
[解決済み] curl で --negotiate を使用する場合、keytab ファイルは必要ですか?
-
[解決済み] Facebookのデータ分析ツール「HiPal」とは、どのようなものなのか?
-
[解決済み] HiveにStringのsplit関数はありますか?