apache hadoop yarn reading - chapter7: nodemanager

13
APACHE HADOOP YARN読書会 Chapter7 - NodeManager Presented By: Katsunori Kanda (@potix2)

Upload: katsunori-kanda

Post on 12-Jan-2017

44 views

Category:

Software


0 download

TRANSCRIPT

APACHE HADOOP YARN読書会

Chapter7 - NodeManager Presented By: Katsunori Kanda (@potix2)

⾃⼰紹介神⽥勝規(かんだかつのり) 株式会社サイバーエージェント

アドテクスタジオ 基盤開発グループ

サーバーサイドエンジニア(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” デーモン

• コンテナ管理に責任を持つ

• ノードのヘルスチェック

• ノード上のリソース管理

• 分散キャッシュ

• コンテナのログ管理

NodeManagerの構成

NodeStatusUpdater

• コンテナのステータスをResource Managerと共有する

• コンテナ作成時、decomission時などコンテナの状態が変わったとき

Resource Localization Service

• コンテナで利⽤されるファイルリソースを安全にダウンロード

• アクセス制限を施⾏

⽤語定義: Resource Localization

• Localization: リモートリソースをローカルにコピー/ダウンロードすること

• LocalResource: コンテナ実⾏に必要なファイルやライブラリを表す

• URL: リモートの位置を⽰す

• Size: サイズ(byte)

• Creation timestamp: リモートで作成された時間

• LocalResourceType: FILE, ARCHIVE, PATTERN

• Pattern: アーカイブから抽出するために使われる

• LocalResourceVisibility: NodeManagerによってローカライズされたリソースの可視性

• DeletaionService: ローカルパスのリソースを削除する

• Localizer: localizationプロセスを実際に実⾏するスレッド

• LocalCache: NodeManagerが管理するダウンロードされたファイル

The Localization Processのポイント

• Local Resourceの種類によって2パターンの処理に別れる

• PUBLIC

• PRIVATE/APPLICATION

The Localization Process

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で対応予定)