apache hadoop yarn reading - chapter7: nodemanager
TRANSCRIPT
⾃⼰紹介神⽥勝規(かんだかつのり) 株式会社サイバーエージェント
アドテクスタジオ 基盤開発グループ
サーバーサイドエンジニア(OS/分散システムが専⾨)
potix2@twitter/github ※ 毎⽉LispMeetup(shibuya.lisp)を開催してます
この読書会について
Apache HADOOP YARNの7章を読んでYARNのアーキテクチャを理解する
Amazonへのリンク
Chapter7: Apache Hadoop YARN Architecture Guide
• 話す内容: NodeManager
• ポイント
• NodeManagerの役割
• NodeManagerの構成コンポーネント
• Resource Localization
NodeManagerとは?• ⼀⾔で表すと、YARNの “worker” デーモン
• コンテナ管理に責任を持つ
• ノードのヘルスチェック
• ノード上のリソース管理
• 分散キャッシュ
• コンテナのログ管理
⽤語定義: Resource Localization
• Localization: リモートリソースをローカルにコピー/ダウンロードすること
• LocalResource: コンテナ実⾏に必要なファイルやライブラリを表す
• URL: リモートの位置を⽰す
• Size: サイズ(byte)
• Creation timestamp: リモートで作成された時間
• LocalResourceType: FILE, ARCHIVE, PATTERN
• Pattern: アーカイブから抽出するために使われる
• LocalResourceVisibility: NodeManagerによってローカライズされたリソースの可視性
• DeletaionService: ローカルパスのリソースを削除する
• Localizer: localizationプロセスを実際に実⾏するスレッド
• LocalCache: NodeManagerが管理するダウンロードされたファイル
Localization of PUBLIC Resources
• NodeManager内で実⾏されるPublicLocalizerスレッドが担当する
• yarn.nodemanager.localizer.fetch.thread-countで最⼤実⾏数は決定する
Localization of PRIVATE/APPLICATION Resources
• ContainerLocalizerと呼ばれるNodeManagerからは独⽴したプロセス内で実⾏される
• ContainerLocalizerはNodeManager内でLocalizerRunnerと呼ばれるシングルスレッドで管理される
• LocalResourceTrackerはユーザー/アプリケーション毎にLocalResource を管理する
• セキュアモードの場合、application submitterとしてリソースのダウンロード/コピーが⾏われる(yarn-userではない)
• ConatinerLocalizerは並⾏ダウンロードをサポートしていない(YARN-574で対応予定)