定义SpoutConfig参数

时间:2015-07-14 10:20:04

标签: java apache-kafka apache-storm apache-zookeeper

我有一个Storm拓扑,我正在使用KafkaSpout

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

我想知道在SpoutConfig传递的第3和第4个参数。

  • 是第3个参数,Zookeeper根据路径安装Zookeeper还是dataDir路径?

  • 第四个参数是一个ID,但我不知道它为什么被使用,我该怎么办?

1 个答案:

答案 0 :(得分:1)

zkRoot和id用于构造stormkeeper路径,在该路径下,storm存储kafka偏移量。你可以阅读它here

  

spout存储Zookeeper中消耗的偏移量的状态。使用根路径对spout进行参数化以存储偏移量以及此特定喷口的id。因此,分区的偏移量将存储在这些路径中,其中" 0"," 1"是分区的ID:

     

{root path} / {id} / 0
   {root path} / {id} / 1
  {root path} / {id} / 2
  {root path} / {id} / 3
  ...