Apache ZooKeeper

概要

Apache ZooKeeperとは、大規模な分散システム運用に必要とされる設定情報の集中的な管理、要素の名前付けなどの機能を提供するソフトウェア。アパッチソフトウェア財団(ASF:Apache Software Foundation)によってオープンソースとして公開されている。

多数のサーバが協調して動作する分散システムにおいて、共有される設定情報などを単一の保存場所でまとめて管理し、多数のクライアントサーバによる参照や更新などを不整合なく環境を提供する。Java言語開発されており、様々な環境で動作する。

保管されるデータUNIX系OSファイルシステムに似た「/」を頂点とする階層構造(木構造)で管理され、ファイルパス同様「/foo/bar」のように頂点からの経路スラッシュ(/)区切りで指定することでアクセスできる。

ノード(znodeと呼ばれる)はファイルディレクトリの両方の性質を持ち、ファイルのようにデータを書き込むことができると同時に傘下に子ノードを持つことができる。データメモリ上に展開されるため極めて高速(低遅延、高スループット)に読み書きすることできる。

ノードには設定情報などを書き込んでおく一般的なノードの他に「エフェメラルノード」(ephemeral:一時的な)と呼ばれる特殊なものがあり、ノードを作成したプロセスとの通信が途絶えると自動的に消滅する。この性質を利用して、有効なサーバがエフェメラルノードを保持することで現在利用可能なサーバの一覧をリアルタイムに構成することができる。

一台のマスターサーバがデータを管理するが、複数の複製サーバを設置でき、クライアントからのアクセス分散して性能を向上することができる。マスターダウンすると残りのサーバから新しいマスターが選出され、更新を継続することができる。

オリジナルは米ヤフーYahoo!)社によって開発され、Apache Hadoopプロジェクトのサブプロジェクトとしてオープンソース化された。2008年にはHadoopから独立してASFのトップレベルプロジェクトに昇格した。大手商用ネットサービスなどにも採用例がある。Apacheライセンスによりオープンソースソフトウェアとして提供されている。

(2020.11.6更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる