现在我已经在单台机器上成功设置了单节点的风暴拓扑。我使用KafkaSpout如下:
String zkHostPort = "localhost:2181";
String topic = "sentences";
String zkRoot = "/kafka-sentence-spout";
String zkSpoutId = "sentence-spout";
ZkHosts zkHosts = new ZkHosts(zkHostPort);
SpoutConfig spoutCfg = new SpoutConfig(zkHosts, topic, zkRoot, zkSpoutId);
KafkaSpout kafkaSpout = new KafkaSpout(spoutCfg);
return kafkaSpout;
现在我设置了集群zookeeper(三个节点:server1.com:2181,server2.com:2181.server3.com:2181)和集群kafka(三个节点)。我想知道如何为此目的更改Storm Topology上的代码。请帮帮我!!
答案 0 :(得分:1)
请使用以下配置:
String zkHostPort = "server1.com:2181,server2.com:2181,server3.com:2181";
String topic = "sentences";
String zkRoot = "/kafka-sentence-spout";
String zkSpoutId = "sentence-spout";
ZkHosts zkHosts = new ZkHosts(zkHostPort);
SpoutConfig spoutCfg = new SpoutConfig(zkHosts, topic, zkRoot, zkSpoutId);
KafkaSpout kafkaSpout = new KafkaSpout(spoutCfg);
return kafkaSpout;
注意:这里最常见的问题是逗号后主机之间的空间,主机之间一定不能有空格。
<强>正确:强>
server1.com:2181,server2.com:2181,server3.com:2181
<强>错误:强>
server1.com:2181,server2.com:2181,server3.com:2181