マジセミドライブ

ウェビナー関連のニュースや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分用語解説】 生成AIを悪用した「 サイバー攻撃 」とは?🕷️

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

2024.12.16

【デジタル寺田の3分用語解説】 生成AIを悪用した「 サイバー攻撃 」とは?🕷️

生成AIの進化により、フィッシング詐欺やマルウェア作成が高度化・自動化しており、「 サイバー攻撃 」が進化しています。詐欺メールの信憑性が高まり、ターゲットに合わせた攻撃も可能です。また、無害な画像にマルウェアを隠す技術や、脆弱性を自動で攻撃するシステムも登場しているため、企業は最新のセキュリティ対策が不可欠です。

【デジタル寺田の3分用語解説】 米司法省、Google社に対して「 Chrome の売却 」を要求🌐

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

2024.12.16

【デジタル寺田の3分用語解説】 米司法省、Google社に対して「 Chrome の売却 」を要求🌐

米司法省は、Googleに対してWebブラウザ「 Chrome 」の売却を要求しています。これは、Googleの市場独占行動が競争を排除していると問題視したものです。Googleはこれに反論し「セキュリティや経済への悪影響」を警告しています。今後の裁判の行方に注目が集っています。

【デジタル寺田の3分用語解説】「 ダイバーシティ 」&「 インクルージョン 」(D&I)とは?🤝

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

2024.12.16

【デジタル寺田の3分用語解説】「 ダイバーシティ 」&「 インクルージョン 」(D&I)とは?🤝

「 ダイバーシティ 」(多様性)と「 インクルージョン 」(包括性)は、性別や年齢、国籍、価値観、経験など、人々の持つ様々な違いを認識し、それを尊重しながら誰もが能力を最大限に発揮できる環境を作る考え方です。単に違いを受け入れるだけではなく、それを活かして共に成長していくことを目的としています。