在Storm拓扑上配置集群ZK_HOST

时间:2016-05-18 09:07:04

标签: apache-kafka apache-zookeeper apache-storm topology bigdata

现在我已经在单台机器上成功设置了单节点的风暴拓扑。我使用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上的代码。请帮帮我!!

1 个答案:

答案 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