YARNのリソース管理の秀逸なスライド

Hadoopのコンポーネントの一つであるYARNは、HadoopやSpark等の分散処理のリソース管理とスケジューリングを行います。そのスケジューラはプラガブルになっており、次の3種類のポリシーが選択でき、それぞれ詳細に設定できます。

  • FIFO(先入れ先出し)・・本番環境には不向き
  • Capacity(キャパシティ)
  • Fair(フェア:公平)

しかし、公式ページのドキュメントは非常にわかりにくく、間違った設定で苦労しているユーザーが多いのも事実です。XMLでの記述が難しいこともありますが、サンプルがないのも一つの要因かと。
先日 @shiumachi が公開したYARNのリソース管理のスライドは、図が多いのでかなりわかりやすいです。クラスター上のリソースを効率的に利用する設計(設定)の際に参考になるので、リソース管理をする方は読みましょう!


 
 

YARNとKafkaの短編動画

YARNのチューニングってわかりにくいですよね?このシリーズの動画は割と分かりやすいと思います。同様に、Kafkaって何?って人にはすごく分かりやすい動画。

  • Tuning YARN Applications
  • Quotas: Cloudera Distribution of Apache Kafka

動画でも紹介されていますが、リソース管理のパラメータの設定を行うためのスプレッドシート、これ便利!おすすめです。
http://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_yarn_tuning.html

シリーズ6本の動画が公開されていますが、左上のメニューから選択できます。(インラインではうまく貼れませんでした)


両方とも10分もないのでお時間のあるときにどうぞ〜

YARN/MapReduce v2のチューニング

Tuning the Cluster for MapReduce v2 (YARN)

良いYARN/MapReduce v2のチューニングドキュメントがあったので共有。
http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_ig_yarn_tuning.html
抜粋すると、24core/256GBのワーカーノードを例にして、HDFSやMapReduce/YARN、HBase、ImpalaやSolr、各種エコシステムのデーモンを実行する場合の

  • それぞれのデーモンへのリソースの配分
  • ノードマネージャーのプロパティと計算式(!)
  • リソースマネージャーのプロパティとサイジングと計算式(!)
  • ゲートウェイとクライアントの設定
  • コンテナのプロパティとサイジングと計算式(!)

比較的シンプルなMapReduce v1と比べると、YARN/MapReduce v2の設定は複雑でわかりにくいですが、この資料はよくまとまっていると思います。チューニングの際にはきっと役立つでしょう。

YARNで使うリソース情報はどこから取ってくるのか

YARNでは、pmem(物理メモリ)やvmem(仮想メモリ)、CPUコア数などのリソース設定を行うことができます。特に、リソースを超えた場合はタスクをkillすることもできます。
yarn.nodemanager.pmem-check-enabled
yarn.nodemanager.vmem-check-enabled
では、これらのチェックに使う情報はOSからどのように取ってくるのでしょうか? “YARNで使うリソース情報はどこから取ってくるのか” の続きを読む