SlideShare a Scribd company logo
APACHE HADOOP YARN
- Application Master編 -
Resource Managerの説明との重複が多く,
重要そうな箇所は少なかった…
前置き 2
今回の内容
Application Master (AM) のライフサイクル
ResourceRequest
3
AMのライフサイクル 4
1. RMがAMを起動,登録
2. AMがRMにコンテナリソースを要求
3. AMが割り当てられたコンテナを起動
4. 割り当てられたコンテナでタスクを実行
5. Applicationが完了時にRMからAMの登録を削除
AMのライフサイクル 5
1. RMがAMを起動,登録
2. AMがRMにコンテナリソースを要求
3. AMが割り当てられたコンテナを起動
4. 割り当てられたコンテナでタスクを実行
5. Applicationが完了時にRMからAMの登録を削除
NM, AM自体の死活監視はRM
コンテナの死活監視はAM
AMのやっていること 6
RM
RMへのheartbeat
RMによるAMの死活監視のため
ResourceRequest
アプリケーションの内容を加味し
RMにコンテナを要求
NM
コンテナの起動
Schedulerに割り当てられた
コンテナの起動を要求
AM
コンテナの実行状況の管理
タスクの進捗状況の監視や
コンテナの(再)起動を要求
ココ
AMの死活監視
RMがAMの死活監視をします.
AMがRMにheartbeatを送っています.
(後述のResourceRequestもここに乗っかってます)
AMのRMへの登録
AMはRMに自身のURL等を送っている.
RMはsubmit時に渡されたいろんな情報を送っている.
• Yarnで使えるリソースの上限等
7
以上!!
AMのやっていること 8
RM
RMへのheartbeat
RMによるAMの死活監視のため
ResourceRequest
アプリケーションの内容を加味し
RMにコンテナを要求
NM
コンテナの起動
Schedulerに割り当てられた
コンテナの起動を要求
AM
コンテナの実行状況の管理
タスクの進捗状況の監視や
コンテナの(再)起動を要求
ココ
ResourceRequest
AMから見ると…
RMに対して,自分の使いたいコンテナ(配置も含め)を
使ってよいかどうか確認する処理
どの程度リソースを確保しなくてはならないかの
計算はAM側で管理
9
Requestの決定方法2つ
Requestの種類
Static allocation
• すべてのコンテナリソース(配置も含め)の要求を
ApplicationがSubmitされた時点で決定するもの
• ユーザの指定するパラメータ,Applicationの実装に依存
Dynamic allocation
• 実行中に動的にリソースの配置を決定する.
• ユーザ指定のパラメータ,Applicationの実装,
クラスタ内のリソースの空き状況を加味して決定
10
ResourceRequestの例
Priority Location Capability Num of Container relaxLocality
1 host-A-a 1Core-1GB 1 false
1 host-A-b 1Core-1GB 1 true
1 rack-A 1Core-1GB 2 false
2 * 1Core-1GB 2 true
11
RMAM
Allocated [ContainerA-a-1]
Status of using {ContainerA-b-2: RUNNING}
Available [ContainerA-a-2, ContainerB-b-2]
ResourceRequestの例 12
RMAM
割り当てに応じて随時更新
Priority Location Capability Num of Container relaxLocality
1 hostA-b 1Core-1GB 1 true
1 rackA 1Core-1GB 1 false
2 * 1Core-1GB 1 true
(Locationを必ず守らないといけないか)
Requestのfall through
優先順位は概ね次の通り
1. ホスト単位
2. ラック単位
3. どれでも(= Applicationが要求しているリソースの総数)
13
Priority Location Capability Num of Container relaxLocality
1 host-A-a 1Core-1GB 1 false
1 host-A-b 1Core-1GB 1 true
1 rack-A 1Core-1GB 2 false
2 * 1Core-1GB 2 true
1
1
2
3
AMのやっていること 14
RM
RMへのheartbeat
RMによるAMの死活監視のため
ResourceRequest
アプリケーションの内容を加味し
RMにコンテナを要求
NM
コンテナの起動
Schedulerに割り当てられた
コンテナの起動を要求
AM
コンテナの実行状況の管理
タスクの進捗状況の監視や
コンテナの(再)起動を要求
ココ
コンテナの起動 15
AM NM
ContainerLaunchContext
Container ID
Resource
実行コマンド
環境変数
必要なファイルやライブラリ名
StartContainerResponse
Launchに成功したコンテナリスト
失敗したコンテナリスト
実行中コンテナの状態
※停止の場合も同様
起動
AMのやっていること 16
RM
RMへのheartbeat
RMによるAMの死活監視のため
ResourceRequest
アプリケーションの内容を加味し
RMにコンテナを要求
NM
コンテナの起動
Schedulerに割り当てられた
コンテナの起動を要求
AM
コンテナの実行状況の管理
タスクの進捗状況の監視や
コンテナの(再)起動を要求
ココ
ApplicationMasterとのやりとり
あまり詳しく書かれていませんでした
コンテナからAMに下記を送っているっぽい
進捗状況
実行状況 (RUNNINGなど?)
17
Container異常終了時
AMはRM経由で各コンテナの終了ステータスを受信
異常終了時のハンドリングはApplication側の責任
リトライ処理等はApplication中に実装が必要
18
AMの異常終了時
RMが再起動をかけてくれる.
実行中のタスクの状態は復元されない
異常終了とは別の話ですが…
必ずしも同一のアプリに対するAMが一意である状態は
保証できないそう
• Network分断から復旧した場合など
Writerが複数になってしまった場合などのハンドリングは
しましょうねと書いてありました.
19

More Related Content

PDF
ALS A&E TEST PASSERS elementary (a z)
PPTX
PASS VC: SQL Server Performance Monitoring and Baselining
PPTX
Prometheus
PPTX
How to register and get your Official DepEd Email Account
DOCX
Secure reversible image data hiding over encrypted domain via key modulation
PDF
RESOLVING MULTI-PARTY PRIVACY CONFLICTS IN SOCIAL MEDIA
PDF
Akka stream
PDF
Monitoring with prometheus
ALS A&E TEST PASSERS elementary (a z)
PASS VC: SQL Server Performance Monitoring and Baselining
Prometheus
How to register and get your Official DepEd Email Account
Secure reversible image data hiding over encrypted domain via key modulation
RESOLVING MULTI-PARTY PRIVACY CONFLICTS IN SOCIAL MEDIA
Akka stream
Monitoring with prometheus

Viewers also liked (6)

PPTX
салстын үрэвсэлт өвчин
PPTX
Go kart
PPTX
Ppt on personal selling and its process
PDF
Stamp enabling privacy preserving location proofs for mobile users
PDF
Xp祭り2016 c6公開用
PPT
Diagramacion De Revistas
салстын үрэвсэлт өвчин
Go kart
Ppt on personal selling and its process
Stamp enabling privacy preserving location proofs for mobile users
Xp祭り2016 c6公開用
Diagramacion De Revistas
Ad

More from Seiya Mizuno (8)

PPTX
Fluentd1.2 & Fluent Bit
PDF
SysML meetup
PPTX
Apache Avro vs Protocol Buffers
PPTX
Connect S3 with Kafka using Akka Streams
PPTX
Connect S3 with Kafka using Akka Streams
PPTX
Introduction to Finch
PPTX
The future of Apache Hadoop YARN
PPTX
Yarn resource-manager
Fluentd1.2 & Fluent Bit
SysML meetup
Apache Avro vs Protocol Buffers
Connect S3 with Kafka using Akka Streams
Connect S3 with Kafka using Akka Streams
Introduction to Finch
The future of Apache Hadoop YARN
Yarn resource-manager
Ad

Yarn application-master