2016-09-07 11 views

答えて

1

カフカクラスタは基本的に、メンバーが使用するZookeeperデータモデルによって定義されます。そのため、ブローカを特定のクラスタに所属させたい場合は、同じZookeeperネームスペースを指すようにする必要があります。実際には、4つのクラスタが必要な場合は、Zookeeperアンサンブルに4つの異なるchrootが必要で、各クラスタで異なるクラスタを使用するようにします。たとえば、クラスタAの仲間はzookeeper.connect = 127.0.0.1:2181/cluster/aを使用し、クラスタBのメンバーはzookeeper.connect = 127.0.0.1:2181/cluster/bのように使用します。もちろん、別の方法として、各クラスタに対して完全に分離されたZookeeperアンサンブルを使用することもできます。

ZooKeeper Programmer's Guide

からオプション "のchroot" サフィックスは、接続 文字列に追加することができます。これにより、クライアントのコマンドが実行され、このルートに関連するすべてのパス が解釈されます(unix chrootコマンドに似ています)。 の場合、例は "127.0.0.1:4545/app/a"または "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a"のようになります。クライアント は次のようになります。 "/ app/a"にルートされ、すべてのパスはこのルートに関連しています root - つまり/ etc/etcを取得する.../foo/barは "/ app/a/foo"で実行されている操作 /bar "(サーバーの観点から)。この 機能は、特定のZooKeeperサービスの各ユーザが異なった根拠を持つマルチテナント環境で特に便利です。 各ユーザが自分の アプリケーションを「/」をルーツとするようにコーディングすることができるため、再利用がはるかに簡単になりますが、デプロイ時に実際の場所( /app/a)を決定できます。

関連する問題