Hadoop/ZooKeeper は初めてです。ZooKeeper を Hadoop で使用する目的がわかりません。ZooKeeper は Hadoop でデータを書き込みますか? そうでない場合、なぜ Hadoop で ZooKeeper を使用するのでしょうか?
37480 次
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 に答える