39

Hadoop/ZooKeeper は初めてです。ZooKeeper を Hadoop で使用する目的がわかりません。ZooKeeper は Hadoop でデータを書き込みますか? そうでない場合、なぜ Hadoop で ZooKeeper を使用するのでしょうか?

4

3 に答える 3

53

Hadoop 1.x は Zookeeper を使用しません。HBase は、Hadoop 1.x インストールでも Zookeeper を使用します。

Hadoop はバージョン 2.0 から Zookeeper も採用しました。

Zookeeper の目的はクラスター管理です。これは、より小さな特殊なコンポーネントを使用するという *nix の一般的な哲学に適合します。そのため、クラスタリング機能を必要とする Hadoop のコンポーネントは、独自に開発するのではなく、Zookeeper に依存します。

Zookeeper は、次の保証を提供する分散ストレージです ( Zookeeper の概要ページからコピー)。

  • Sequential Consistency - クライアントからの更新は、送信された順に適用されます。
  • 原子性 - 更新は成功するか失敗します。部分的な結果はありません。
  • 単一システム イメージ - クライアントは、接続先のサーバーに関係なく、サービスの同じビューを表示します。
  • 信頼性 - 更新が適用されると、その時点からクライアントが更新を上書きするまで持続します。
  • 適時性 - システムのクライアント ビューは、特定の時間内に最新であることが保証されます。

これらを使用して、ロック、リーダー選出などのクラスター管理に必要なさまざまな「レシピ」を実装できます。

自分で ZooKeeper を使用する場合は、使いやすいNetflix の Curator を参照することをお勧め します (たとえば、すぐに使えるいくつかのレシピを実装しています)。

于 2012-05-24T20:48:10.703 に答える
11

Zookeeperは信頼性の高い分散調整の問題を解決し、Hadoopは分散システムですよね?

このテーマについて読むことができる優れた論文のPaxosアルゴリズムがあります。

于 2012-05-24T07:43:47.770 に答える