Evolve logo オンデマンド配信 Evolve 2023 Tokyo|AI、データと分析の先進事例を紹介
  • Cloudera Cloudera
  • Apache ZooKeeper

    分散プロセスを優れた信頼性で連携させるためのオープンソースサーバー

    Apache ZooKeeper は、Hadoop クラスタにオペレーションサービスを提供します。ZooKeeper は分散システムに対する、分散構成サービスや同期サービス、ネーミングレジストリを提供します。分散アプリケーションは、ZooKeeper を使って重要な構成情報の保存やアップデートを行うことができます。

    ZooKeeper の機能

    ZooKeeper が提供するインターフェースとサービスは、非常にシンプルなものです。ZooKeeperは、主に次のようなメリットを提供します:

    • 高速. ZooKeeper は、データの書き込みよりも読み込みの頻度が高いワークロードに対して高速性能を発揮します。READ/WRITE の理想的な比率は、10:1 です。
    • 信頼性. ZooKeeper は (アンサンブルと呼ばれる) ホストセットにレプリケートされ、サーバーは互いを認識し合います。サーバーの多くが利用可能な状態であれば、ZooKeeper のサービスも利用が可能です。単一障害点は存在しません。
    • シンプル. ZooKeeper は、ファイルやディレクトリと同様に、標準的な階層ネームスペースを維持します。
    • 順列. このサービスは、すべてのトランザクションのレコードを保持し、同期プリミティブのような上位の抽象化に使用することができます。

    ZooKeeper の動作の仕組み

    ZooKeeper によって、znode と呼ばれるデータレジスタの共有階層ネームスペースを介して、分散プロセス相互の調整を図ることが可能になります。znode はパスで区別され、パスはスラッシュ (/) で区切られます。各 znode には root の他に親を持っており、子を持っているznode は削除することができません。

    これは通常のファイルシステムに似ていますが、ZooKeeper は冗長性あるサービスによって優れた信頼性を提供します。サービスは、一連のマシンにレプリケートされ、それぞれがインメモリでデータツリーのイメージとトランザクションを保存します。クライアントは、1つの ZooKeeper に接続してリクエストを送信し、レスポンスを受け取るためのTCP 接続を維持します。

    このアーキテクチャーによって、ZooKeeper は、高いスループットと可用性を低レイテンシで提供することができますが、ZooKeeper が管理できデータベースのサイズは、メモリによる制限を受けます。

    Your form submission has failed.

    This may have been caused by one of the following:

    • Your request timed out
    • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.