マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Apache ZooKeeper

【OSS情報アーカイブ】Apache ZooKeeper

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Apache ZooKeeper」とは

基本情報

概要

Apache ZooKeeper(アパッチズーキーパー)とは、分散環境運用サポートサービスを提供するコーディネーションエンジンです。各ノード(システム全体)を集中保守管理するための機能を提供します。

基本説明

分散アプリケーションを実装する場合、各分散ノードの設定などに大量の作業が発生してしまいます。ZooKeeperは設定作業などの本質的な部分を取り出し、集中型コーディネーションサービスとしてシンプルなインタフェースを提供します。

ZooKeeperには「設定管理」「名前解決」「同期」「グループサービス」などの利用頻度の高いさまざまなサービスが用意されています。

標準機能として「合意プロトコル」「グループ管理プロトコル」「リーダー選挙プロトコル」「プレゼンスプロトコル」などを利用できます。独自のニーズに対応したサービスの構築も可能です。

Apacheソフトウェア財団のオープンソースプロジェクトで、Hadoopのサブプロジェクトの1つです。Java実装でJVMで動作します。Java/C言語用のAPIが用意されています。

主な特徴

高スループット/低レイテンシー

ZooKeeperが管理する各種データは、ストレージではなくメモリ内に保持されるため、高いスループットと低遅延を実現しています。

高いパフォーマンスを出せるため、大規模分散システムに対応できます。クライアントからのアクセスが読み込み主体の場合には、特に高速で動作できます。

高可用性(マスタ冗長化)

ZooKeeperを複数のサーバにインストールして利用できます。可用性を高め、性能向上も期待できます。ZooKeeperを複数立ち上げると、マスタが自動で選択され各種統括管理を行います。

ZooKeeperマスタノードが何らかの理由で停止した場合には、各ノード間で選挙が行われ、新たなマスタノードが選出されます。

アトミック性

ZooKeeperが管理するデータはアトミックに読み書きが行われます。クライアントからの更新を順番に1つずつ適用します。各ノードごとにアクセス制限を設けることも可能です。

階層的名前空間

ZooKeeperはデータを階層的な名前空間で保存します。複数のサーバに分散している各プロセスは、この名前空間を共有することにより、互いに協調しつつ分散処理を進めます。

ノード間矛盾排除

データ更新はマスタノードのみが行うため、ノード間でデータが矛盾した内容になることがない仕組みになっています。

主な機能

共有設定機能

設定ファイルをZooKeeperサーバに保存し、各インスタンスがZooKeeperに保存されている設定ファイルを取得することで、各インスタンスの設定ファイルが同一であることを保証できます。

分散ロック機能

複数のインスタンスが同時に共有リソースを書き換えないようにするためのロック機能があります。

メンバー取得機能

分散システムの各インスタンスがZooKeeperのエフェメラルノードを登録しておくことにより、分散システム内で利用可能なインスタンスの一覧を取得できます。各クライアントはアクティブ状態のサーバに接続できます。

ウォッチ機能

あるプロセスが、特定のZooKeeperノードをウォッチ対象とすると、そのZooKeeperノードに変更があった場合に、プロセスに対して変更が通知されます。設定ファイルの再ロードトリガーなどに利用できます。

導入事例

分散キーバリューデータベース「HBase」、検索エンジン「SolrCloud」、分散リアルタイムストリーミング処理エンジン「Jubatus」などに採用されています。

主な適用分野として「ディレクトリサービス」「構成管理サービス」「同期サービス」「リーダー選出サービス」「メッセージキューサービス」「エンタープライズサーチシステム」などがあります。

ライセンス情報

Apache ZooKeeperのライセンスは「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】 「 EUサイバーレジリエンス法 」とは?🇪🇺

デジタル寺田の3分用語解説

2025.01.06

【デジタル寺田の3分用語解説】 「 EUサイバーレジリエンス法 」とは?🇪🇺

「 EUサイバーレジリエンス法 」は、サイバーセキュリティを強化するためにEUが制定した法案で、サイバー攻撃の増加に対応するためにデジタル製品のセキュリティ対策を義務付けることを目的としています。ネットワークに接続されるすべてのデジタル製品が対象となりますが、一部の製品は除外されます。

【デジタル寺田の3分用語解説】 米「 TikTok 規制法」とは?🇺🇸

デジタル寺田の3分用語解説

2025.01.06

【デジタル寺田の3分用語解説】 米「 TikTok 規制法」とは?🇺🇸

米「 TikTok 規制法」は、国家安全保障の観点からTikTokを運営する中国企業「バイトダンス」に対して制定された規制です。この法案では、2025年1月19日までにバイトダンスがTikTokの米国事業を売却しない場合、アプリの配信や更新が禁止されます。

【デジタル寺田の3分用語解説】 OpenAIの動画生成AI「 Sora 」とは?🌌

デジタル寺田の3分用語解説

2025.01.06

【デジタル寺田の3分用語解説】 OpenAIの動画生成AI「 Sora 」とは?🌌

OpenAIが開発した次世代動画生成AI「 Sora 」は、日本語の「空」から名付けられ、無限の可能性を象徴する技術として注目されています。テキスト入力のみでリアルな動画を生成できる点が特徴で、例えば「犬が海辺を走る」といったプロンプトを入力すると、それをそのまま映像化します。