как найти zkroot и clientid для SpoutConfig

Я пытаюсь подключиться к удаленному кластеру Кафки В storm. Я использую следующий код:

    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);

В экземпляре spoutConfig я должен поместить в качестве параметров zkroot и clientid.

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

Где я могу найти эти две информации? Или я должен создать их?

Спасибо!

1 ответ

  1. Из этой документации,

    Spoutconfig-это расширение KafkaConfig, которое поддерживает дополнительные
    поля с информацией о соединении ZooKeeper и для управления поведением
    специфично для KafkaSpout. Zkroot будет использоваться в качестве root для хранения
    смещение потребителя. Id должен однозначно идентифицировать ваш носик.

    Zkroot, поэтому должен быть какой-то путь ZNode, Как /some/pathкоторый будет использоваться для хранения смещения вашего потребителя, Как упоминалось.

    id это некоторая строка (скажем, UUID), которая может быть использована для уникальной идентификации Вашего носика, как упоминалось.