🐙

Lesson5. Hadoopにおけるスケジューリングの仕組み

2022/10/30に公開

学ぶ前の知識レベル

  • Hadoopには、プラグイン可能なスケジューリングのポリシーがあるらしい
  • フェア・スケジューリングや、キャパシティ・スケジューリングといった仕組みがあるらしい

学んだこと

まだ実際に構築はしていないので、ドキュメントで学んだ概要レベルの知識だけです。

概要

  • デフォルトの設定はFIFO(先入れ先出し)
  • フェア・スケジューリングはすべてのジョブに同じ資源を割り当てる
  • キャパシティ・スケジューリングはすべての組織に最低限の資源の割り当てを確保する

FIFO

  • デフォルトの設定ではFIFO(先入れ先出し方式)
  • プリエンプション(強制中断)は不可
  • ごく小規模で全体の動作を試すだけとかならこの設定を変えなくてもOK

フェア・スケジューリング

  • キューに入っているすべてのタスクに平等に資源を割り当てる方式
  • この方式を採用すると、プリエンプションが可能になる。

キャパシティ・スケジューリング

  • フェア・スケジューリングの要素に加え、各組織ごとに最低限の割り当て資源を確保するようなスケジューリング方式
  • 「各組織ごとに」とあるとおり、マルチテナントのクラスターに複数の組織がアクセスするような場面で力を発揮(逆にそうじゃなければ使う必要なし、設定が複雑でめんどいからね!)

学ぶために使ったリソース

公式ドキュメント(英語)

https://hadoop.apache.org/docs/r3.1.1/hadoop-yarn/hadoop-yarn-site/FairScheduler.html

https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html

Youtube(英語)

https://youtu.be/rPtwxwI2QlI
👆インド英語のリスニング教材としてもおすすめ(わかりやすさはイマイチ。。。文字ONLYのスライドを読み上げているだけです)

日本語の記事

https://www.slideshare.net/akuwano/hadoop6

まだわかっていないこと

キャパシティスケジューリングにおいて、どうやって各組織ごとに最低限の割り当てを確保するのかの仕組みはわかっていない。

でもこれ以上のことは手を動かしながら勉強する!

Discussion