用于 Zookeeper quorum 的 Apache 风暴 Kafka SpoutConfig
Apache storm Kafka SpoutConfig for Zookeeper quorum
要配置一个 kafkaSpout
,它需要 BrokerHosts
,这又需要一个 zookeeper 主机。
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 法定人数(3 个 zk 服务器的集群),我如何配置 KafkaSpout
来接受法定人数的所有成员而不是只有 1 个。
由于一台zookeeper服务器可能宕机,整个拓扑将不可用。
找到我的问题的答案:
连接字符串格式为 "host1:port1,host2:port2,host3:port3..."
(storm-kafka 在后台使用 Curator),因此只需向 ZkHosts 构造函数提供多个 Zookeeper 服务器 url
要配置一个 kafkaSpout
,它需要 BrokerHosts
,这又需要一个 zookeeper 主机。
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 法定人数(3 个 zk 服务器的集群),我如何配置 KafkaSpout
来接受法定人数的所有成员而不是只有 1 个。
由于一台zookeeper服务器可能宕机,整个拓扑将不可用。
找到我的问题的答案:
连接字符串格式为 "host1:port1,host2:port2,host3:port3..."
(storm-kafka 在后台使用 Curator),因此只需向 ZkHosts 构造函数提供多个 Zookeeper 服务器 url