並列分散処理のサーバ環境では以下のプロセスが動作します。
インストール時は、選択した機能に応じたプロセスが自動で各サーバに配置されます。
プロセス名 | 役割 | 配置先 | ||
---|---|---|---|---|
マスタ | スレーブ | 開発実行 | ||
ResourceManager | クラスタ全体のリソースを管理します。並列分散処理アプリケーションからのリソース要求を受け付け、各スレーブサーバのNodeManagerからリソースを確保します。 | ○ | ― | ― |
NameNode | DataNodeのモニタリング、ブロックを管理します。また、ファイルシステムの維持のためのメタデータ(ファイルシステムイメージファイル、変更情報を記述した編集ログ)を管理します。 | ○ | ― | ― |
NodeManager | ローカルの利用可能なリソースを管理し、ResourceManagerから指示を受け取って、必要とするリソースをコンテナ(アプリケーション実行環境)として提供します。 | ― | ○ | ― |
DataNode | ブロック化されたデータの書き込み・読み込み処理を行います。 | ― | ○ | ― |
JournalNode | NameNodeで管理しているメタデータ(編集ログ)をローカルディスクへ書き込みます。JournalNodeは3台以上の奇数台で動作させる必要があります。 | ○ | ― | ○ |
ZooKeeper | ResourceManager/NameNodeとのセッションを管理し、アクティブなResourceManager/NameNodeで障害発生時(セッション失効時)、スタンバイしているResourceManager/NameNodeへフェイルオーバを開始するように要求します。 | ○ | ― | ○ |
ZKFC(ZKFailoverController) | ResourceManager/NameNodeの状態を監視し、ZooKeeperとのセッションを維持します。アクティブな他のResourceManager/NameNodeに障害が発生した場合、自身が管理しているResourceManager/NameNodeのフェイルオーバを実行します。 | ○ | ― | ― |
org.apache.spark.deploy.history.HistoryServer | Sparkジョブの実行履歴を管理します。 | ○ | ― | ― |
○:配置する
―:配置しない