2015-07-14 2 views
1

У меня есть топология Storm, в которой я использую KafkaSpout.Определить параметр SpoutConfig

BrokerHosts zk = new ZkHosts("localhost:2181"); 
SpoutConfig spoutConf = new SpoutConfig(zk, "topic", "/topic", "discovery"); 

Я хочу знать, 3 и 4 параметр, который передается в SpoutConfig.

  • Является ли 3-й параметр, Zookeeper корневой путь, где Zookeeper является установить или dataDir путь?

  • 4-й параметр - это идентификатор, но я не знаю, почему он используется и что мне нужно дать?

ответ

1

zkRoot и id используются для создания пути к zookeeper, при котором шторм сохраняет смещение кафки. Вы можете прочитать об этом here.

Резервуар хранит состояние смещений, потребляемое им в Zookeeper. Слиток параметризуется корневым путем для хранения смещений и идентификатора для этого конкретного носика. Таким образом, смещение для разделов будет сохранено в этих путях, где "0", "1" являются идентификаторами для разделов:

{корневого путь}/{ID}/0
{корневого пути}/{ID}/1
{корневой путь}/{ID}/2
{корневой путь}/{ID}/3
...

Смежные вопросы