3

飼育係用に 1 台、ブローカー用に 2 台の 3 台のマシンで構成される kafka クラスターを実装します。私は約 6 台のコンシューマー マシンと約 100 台のプロデューサーを持っています。

ブローカーの 1 つが失敗した場合でも、レプリケーション機能のおかげでデータ損失が回避されます。しかし、zookeeper に障害が発生し、同じマシンを起動できない場合はどうなるでしょうか。いくつか質問があります:

  1. Zookeeper に障害が発生した後でも、プロデューサーは指定されたブローカーにメッセージをプッシュし続けていることに気付きました。しかし、消費者はそれらを取得できなくなりました。消費者が登録解除されたためです。この場合、データは永久に失われますか?
  2. 実行時にブローカー構成で Zookeeper の IP を変更するにはどうすればよいですか? Zookeeper の IP を変更するには、シャットダウンする必要がありますか?
  3. 新しい ZooKeeper マシンが何らかの方法で以前のクラスターに持ち込まれたとしても、以前のデータは失われますか?
4

1 に答える 1

0

Zookeeper のインスタンスを 1 つだけ実行すると、耐障害性がなくなり、動作を予測できなくなります。HBase リファレンスによると、少なくとも 3 台のサーバーでアンサンブルをセットアップする必要があります。

公式ドキュメント ページをご覧ください: Zookeeper clustered setup .

于 2015-10-26T13:40:05.267 に答える