2017-01-14 4 views
0

私は嵐の中でリモートカフカクラスタに接続しようとしています。私は、次のコードを使用しています:spoutConfigのインスタンス化でSpoutConfigのzroutとclientidを見つける方法

Broker brokerForPartition0 = new Broker("208.113.164.114:9091"); 
      Broker brokerForPartition1 = new Broker("208.113.164.115:9092"); 
      Broker brokerForPartition2 = new Broker("208.113.164.117:9093"); 
      GlobalPartitionInformation partitionInfo = new GlobalPartitionInformation(); 
      partitionInfo.addPartition(0, brokerForPartition2);//mapping from partition 0 to brokerForPartition0 
    partitionInfo.addPartition(1, brokerForPartition0);//mapping from partition 1 to brokerForPartition1 
    partitionInfo.addPartition(2, brokerForPartition1);//mapping from partition 2 to brokerForPartition2 
    StaticHosts hosts = new StaticHosts(partitionInfo); 
    SpoutConfig spoutConfig = new SpoutConfig(hosts, "newImageTest","/brokers","console-consumer-61818"); 
    spoutConfig.scheme = new SchemeAsMultiScheme(new StringScheme()); 
    KafkaSpout kafkaSpout = new KafkaSpout(spoutConfig); 

を、私はパラメータzkrootとのClientIDとして配置する必要があります。

java public SpoutConfig(BrokerHosts hosts, String topic, String zkRoot, String id); 

これらの2つの情報はどこにありますか。または私はそれらを作成する必要がありますか?

ありがとうございました! this documentationから

答えて

0

Spoutconfigは、ZooKeeperの接続情報を持つとKafkaSpoutに固有の動作 を制御するための追加の フィールドをサポートKafkaConfigを拡張したものです。 Zkrootはあなたの 消費者のオフセットを格納するためにルートとして使用されます。 idはあなたのスパウトを一意に識別する必要があります。

Zkrootは、それゆえに述べたように、あなたの消費者がオフセットだ格納するために使用されます/some/pathのようないくつかのznodeパスでなければなりません。

idは、前述のようにあなたのスパウトを一意に識別するために使用できる文字列(UUIDなど)です。

関連する問題