如何 setup/connect 在本地网络上分布式 Kafka 代理、生产者和消费者?

How to setup/connect distributed Kafka brokers, producers and consumers on a local network?

我已经设置了 Apache Kafka 并确认生产者和消费者在本地主机上工作。

如何设置 Kafka 以便:

  1. 多个生产者将消息馈送到网络计算机上的代理
  2. 网络上的许多消费者都可以消费来自代理的消息

我注意到以下行:zookeeper.connect=localhost:2181 in server.properties 用于启动 kafka 服务器。如果是这个设置,是设置监听什么地址还是指定服务器的 address/port 在网络上?

Kafka连接的zookeeper服务器名称。 Broker 配置的文档可以在这里找到 http://kafka.apache.org/documentation.html#brokerconfigs

Kafka内部使用zookeeper来协调集群(leader选举)。在 0.8 之前的 Kafka 版本中,ZK 是消费者偏移量(到目前为止消费了什么)的专属存储,但是我认为从 0.8.1 开始,您可以选择是将偏移量存储在 ZK 中还是在一个名为 __consumer_offsets.

您感兴趣的是 Kafka 向客户端公开的 advertised.host.nameadvertised.port 设置(或如您所说的 "what addresses it listens to")。