2010-12-14 11 views

答えて

18

hbase-default.xml,で説明したように、ここでの設定です:

カンマのZooKeeperクォーラム内のサーバーのリストを分離しました。たとえば、「host1.mydomain.com、host2.mydomain.com、host3.mydomain.com」と入力します。デフォルトでは、これはlocalおよびpseudo-distributed操作モードのlocalhostに設定されています。完全に分散された設定の場合、ZooKeeperクォーラムサーバーの完全なリストに設定する必要があります。 HBase_MANAGES_ZKがhbase-env.shに設定されている場合、これはZooKeeperを起動/停止するサーバのリストです。

何この実際を明確にするため、私の部分に編集してエドワード・J・ユンhere.によって回答されていない:

Apacheの飼育係は、Googleのチャビーのように、分散アプリケーションのためのコーディネーションサービスです。多くのプロジェクトでは飼育係が使用されています。私たち(Apache Hama)もバルク同期並列計算フレームワークのバリア同期に飼育係を使用しています。

今日、Zookeeperプロジェクトのパクソスとダイナミッククォーラムの機能について、クラスorg.apache.hama.zookeeper.QuorumPeerの名前を付け加えるために調査しました。文書は十分ではないので(http://hadoop.apache.org/zookeeper/docs/r3.0.0/api/index.html)、私はこの言葉が私には幾分奇妙であったので、「定足数」の意味を理解できませんでした。しかし、 "org.apache.hama.zookeeper.QuorumPeer"は正しい名前です! xD

だから、クォーラムとは何ですか?クォーラムはなぜ必要なのですか?

ウィキペディアによると、クォーラムは、そのグループのビジネスを行うために必要な審議機関のメンバーの最小数です。通常、多くの団体がより少ないまたはより多い定足数を持つかもしれないが、これはそこにいると予想される人々の過半数である。

ご存じのように、フォールトトレラントメカニズムは、分散システムの重要な機能の1つです。クォーラムアルゴリズムはスプリットブレイン状態を防ぐために使用されます。スプリットブレイン条件が発生すると、クォーラムアルゴリズムに従って、「主パーティション」と「セカンダリパーティション」が決定されます。プライマリグループのサーバーはユーザーの要求を受信して​​処理し、セカンダリグループのサーバーは読み取り専用になります。

いつスプリットブレイン状態からこのシステムが回復しますか?それらが再び1つのパーティションにマージされるとき。内部的には、飼育係はPaxosの代わりに原子放送プロトコルを使用します。

また、私が提示しようとしていた概念を誤って翻訳した場合は、read the original version,にする必要があります。

私は、Apache Zookeeperのクォーラムメカニズムについて、いくつかのあらかじめ定義されたホスト間で明示的に複製クォーラムを定義していることを理解しています。このクォーラムが満たされていない場合、Zookeeperがプライマリパーティションで再統合するまで、一致しないパーティションはセカンダリパーティションに分割されます。

これにより、Hadoopのeventual consistencyモデルの細かさが向上します。一方、HBaseは現在進行中ですfurther integrating Zookeeper with its code.

5

カンマのZooKeeperクォーラム内のサーバーのリストを分離しました。 たとえば、「host1.mydomain.com、host2.mydomain.com、host3.mydomain.com」と入力します。 デフォルトでは、ローカルおよび擬似分散モードの場合はlocalhostに設定されます。 操作。完全に分散された設定の場合、これはZooKeeperクォーラムサーバーのフル リストに設定する必要があります。 HBase_MANAGES_ZKがhbase-env.shに設定されている場合 これはZooKeeperの起動/停止を行うサーバのリストです。

とのはじめ要件のセクションから:

のHBaseは、リリース0.20.0のようZooKeeperのに依存します。 HBaseは、現在のマスターであるルートテーブルの場所と、現在ZooKeeperでクラスタに参加している地域を保持します。クライアントとサーバは、何か他のことをする前にZooKeeperクォーラムの場所を知る必要があります(通常、CLASSPATHで提供されている設定からこの情報を取得します)。デフォルトでは、HBaseは単一のZooKeeperインスタンスを管理します。スタンドアロンと擬似分散モードではこれで十分ですが、完全分散モードではZooKeeperクォーラムを設定する必要があります(詳細は後述)。

希望するものがあります。

関連する問題