Upload
seiya-mizuno
View
65
Download
7
Embed Size (px)
Citation preview
Apache Hadoop YARNPast, Present and Future
2これからの YARNこれからの YARN は大規模クラスタで多種多様な
サービスを一元的にホストできる環境に !リソーススケジューリングの改善 ( 水野 )Slider 統合による Native Service のサポート ( 伊
藤 )
※ この他にも Executor に Docker コンテナのサポートが入ったり, 周辺ツールの改善などもありましたが詳細は Summit のスライド &JIRA を参照
3現状のスケジューリングだと…
NodeManager
ResourceManager
heartbeatYARN
Scheduler
( これでリソースの空き状況を把握 )
ApplicationMaster
NodeManager1 のコンテナ (1GB, 2core)NodeManager2 のコンテナ (2GB, 1core)
Resource Request割り当て
アプリごとに 1 つ
クラスタ上にたくさんクラスタごとに 1 つ
4現状のスケジューリングだと…
NodeManager1
heartbeat( これでリソースの空き状況を把握 )
ApplicationMaster
NodeManager1 のコンテナ (1GB, 2core)NodeManager2 のコンテナ (2GB, 1core)
Resource Request割り当て
アプリごとに 1 つ
クラスタ上にたくさん
ResourceManager
YARNSchedule
r
クラスタごとに 1 つ
Resource Manager 上の Scheduler1 台でやってるので
ノードやサービスがたくさんのるとツライ…
5新しいスケジューリングでは
YARN Federation [YARN-2915]YARN のサブクラスタの集合を 1 つの巨大なクラスタと
して扱えるようにする.
Distributed Scheduling[YARN-2877]各 NM に Local Resource Manager を配置して
分散スケジューリング
6YARN FederationRM がボトルネックにならない程度の大きさの
サブクラスタを集めて巨大なクラスタに !
RM
Router
Client
サブクラスタの状態を加味しどこで AM を起動するか決定
RM
AMRMProxy
AM※AMRMProxy は 各 NM に乗ってます
7Distributed SchedulingLatency や Locality にセンシティブでない
コンテナリクエストを各 Node レベルで処理
NM
RMAMNM
Local RM
Local RM
SchedulingCoordinato
r
heartbeat
heartbeat
Queue の状態の共有
各 NM の Queue の状態を加味してスケジューリング
Request は Queueに
溜められ空きができ次第実行される
8Distributed SchedulingGuaranteed モードを選ぶと,中央スケジューラ
が いつも通りスケジューリングする.
NM
RMAMNM
Local RM
Local RM
※Guaranteed の場合
YARNSchedule
r
heartbeat
92 つのモード
Queueable モードLocal Resouce Manager でスケジューリングとりあえず割り当て先の Node Manager の Queue に
溜まる.Guaranteed のリクエスト分のリソースが足りなくなる
と kill される.
Guaranteed モードいつも通り中央の Resource Manager でスケジューリ
ングQueueable より優先度が高いQueue に溜まらずすぐ処理される.
いつ実行されてもいいような重要度低めの処理向け
Locality や Latency にセンシティブな重要度高めの処理向け
10Scheduling まとめ
今まで中央の Resource Manager に集中していた
負荷を分散し,スケーラビリティを向上
大量のアプリをホストできる分散環境に !
11これからの YARNこれからの YARN は大規模クラスタで多種多様な
サービスを一元的にホストできる環境に !リソーススケジューリングの改善 ( 水野 )Slider 統合による Native Service のサポート ( 伊
藤 )