Hadoop Yarnの基本
YARN
SparkのYARN-modeを使うかもしれないので基本をメモ.
Architecture
Hadoop上のサービスとしては2つあって,ResourceManager(Master)とNodeManager(Worker).
アプリケーションの実行で登場するのがApplicationMaster.
ResourceManager
Schedular
- リソースの割り当て
- 複数アプリケーションのスケジュール
- プラッガブル
NodeManager
- アプリケーションで使うリソースを取得するためのRMとのネゴ
- コンテナへの責任
- コンテナがリソースをどれだけつかているかのモニタリング
- コンテナがリソースをどれだけつかているかのRM/Schedulerへの報告
Application Master
- Schedulerと適切なリソースコンテナのネゴ
- コンテナのステータスモニタリング
Application Workflow
http://hortonworks.com/blog/apache-hadoop-yarn-concepts-and-applications/
にYARN – Walkthroughの言葉での説明とアーキテクチャ上のフローがある.
http://www.slideshare.net/ZhijieShen/apachecon14
にYARN – Walkthroughのシークエンス図および簡易説明がある.
アプリケーション実行シークエンスのまとめ
1. クライアントがアプリケーションをサブミット
2. RMがAMをスタートするためにコンテナを立ち上げる
3. AMがRMに登録される
4. AMがRMにコンテナを要求
5. AMがNMにコンテナを立ち上げるように要求
6. アプリケーションコードはコンテナ内で実行される
7. クライアントはRM/AMとコンタクトしてアプリケーションステータスをモニタ
8. アプリケーションが完了するとAMがRMから登録解除される
ただし
AM: Application Master
RM: Resource Manager