要配置kafkaSpout
,它需要BrokerHosts
,而BrokerHosts host = new ZkHosts("server-1:2181");
SpoutConfig spoutConfig = new SpoutConfig(host, TopologyConstants.KAFKA_QUEUE.SOURCE,
"/" + TopologyConstants.KAFKA_QUEUE.SOURCE, ID);
KafkaSpout kafkaSpout = new KafkaSpout(spoutConfig);
又会占用一个zookeeper主机。
KafkaSpout
问题是,如果我有一个zookeeper仲裁(3个zk服务器的集群),我如何配置{{1}}以取得仲裁的所有成员而不是1。 由于一个zookeeper服务器可能会关闭,整个拓扑将不可用。
答案 0 :(得分:0)
找到我的问题的答案:
连接字符串格式为"host1:port1,host2:port2,host3:port3..."
(storm-kafka在引擎盖下使用Curator),因此只需向ZkHosts构造函数提供多个Zookeeper服务器URL