マジセミドライブ

ウェビナー関連のニュースや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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

【ChatGPT探訪】「 無限議論 」〜最強スタンド考察〜🤔

ChatGPT探訪

2024.05.07

【ChatGPT探訪】「 無限議論 」〜最強スタンド考察〜🤔

マジセミSNSに投稿した 【担当者A】の「 無限議論 」〜最強スタンド考察〜💬 を記事化したものです。 ChatGPTに課金していないみなさんにも、 AI同士の議論をお楽しみいただけます👍 ※原稿テキストを放り込むだけで、 ジョジョ風イラストを作成してしまう生成AIがすごくないですか?

【トレンド解説】米国における「 生成AI活用 」最新動向📈

トレンド解説

2024.05.07

【トレンド解説】米国における「 生成AI活用 」最新動向📈

「米国における 生成AI活用 最新動向」について解説しています。生成AIは日本企業にも多くの可能性をもたらし、「デスクワークの効率化」や「業務の自動化推進」に貢献しています。生成AIを理解し、活用することが、グローバルな競争力を高める鍵となります。

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

ウェビナーまとめ

2024.05.15

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

2024年3月12日に三菱電機ITソリューションズ株式会社とアットストリームパートナーズ合同会社の共催で、組立加工製造業向けのセミナー「なぜか高くなる原価を管理する 不確実性の時代を乗り切るためのコスト戦略とは」が開催されました。本セミナーでは、製造業における原価管理の現状と改善手法について深く掘り下げ、経営活動への具体的な活用方法を提示しました。今回は、その講演の要点をお伝えします。