Weitere ähnliche Inhalte Mehr von Shuya Tsukamoto (6) Kürzlich hochgeladen (12) Apache hadoop yarn 勉強会 8. capacity scheduler in yarn9. Queues
● A short queue name
● A full queue path name
● A list of child queues and applications associated with them
● Guaranteed capacity of the queue
● Maximum capacity to which a queue can grow
● A list of active users and the corresponding limits of sharing between users
● State of the queue
● ACLs governing the access to the queue
いろいろあるけど全部後の節で詳しく語られる
16. Scheduling Among Queues
ROOT queueはfirst level親queue間で配るキャパシティの量と、
子queueスケジューリングの実行を理解している
各親queueも同じキャパシティ制約に従う
葉queueは同時に1ユーザがそのqueue内で取得できるリソースの制限を配慮しつつ、アク
ティブなアプリケーションのリストを持つ...?(自信なし)
(potentially from multiple users, and schedule resources)
20. Queue Access Control
e.g. “sherlock,pacioli cfo-group”
sherlock,pacioliユーザとcfo-groupグループがアクセス可能
e.g. “ cfo-group”
cfo-groupグループがアクセス可能
e.g. “*”
全員アクセス可能
24. Capacity Management with Queues
yarn.scheduler.capacity.root.grumpy-engineers.capacity = 60
同様にfinance-wizards = 10, marketing-moguls = 30
(合計は100%以下でなければならない)
25. Capacity Management with Queues
葉queues にも設定可能
yarn.scheduler.capacity.root.grumpy-engineers.infinite-monkeys.capacity = 20
同様にpesky-testers = 80
26. Capacity Management with Queues
クラスタ全体で1000GBのキャパシティがあると想定
grumpy-engineersは60%なので600GB
infinite-monkeys 20%, pesky-testers 80%なので、それぞれ
120GB, 480GB割り当てられる
34. State of the Queues
queueにはRUNNINGとSTOPPEDの2つの状態がある
デフォルトはRUNNING
STOPPEDだとアプリケーション投稿を受け付けない
親queueも葉queueも停止可能
親queueを停止すると子孫のqueueuも無効に
35. State of the Queues
設定例
yarn.scheduler.capacity.root.finance-wizards.state
RUNNING
ユーザが他のキューを利用するように移行するときなどに使える
現在実行中のアプリの完了を待ちつつ、新規実行を停止できる
37. Limits on Applications
投稿されたアプリケーションの最大数の制限(running + pending)
デフォルトは10000
アクシデントや悪意のあるユーザによる手に負えない負荷に起因するスラッシン
グ?(system thrash)を防ぐためのもの
yarn.scheduler.capacity.maximum-applications で調整可能
yarn.scheduler.capacity.<queue-path>.maximum-applications で上書き可能
38. Limits on Applications (ApplicationMaster)
ApplicationMaster(AM)が大量に立ち上がってコンテナリリース待ち(cross-application
deadlock)になるとマズい
AMがクラスタ内で利用できるリソースの制限。デフォルト10%
yarn.scheduler.capacity.maximum-am-resource-percent
これも
yarn.scheduler.capacity.<queue-path>.maximum-am-resource-percent
で上書き可能