尝试在 CentOS 上使用 Python 客户端本地连接到 Kafka 0.10.0.0 时,我遇到了一个非常奇怪的问题。
我的连接选项非常简单且默认:
kafka_consumer = kafka.KafkaConsumer(
bootstrap_servers=['localhost:9092'],
client_id="python-test-consumer"
)
当我在 Kafka 的 server.properties 文件中手动设置listeners选项时,例如:
listeners=PLAINTEXT://localhost:9092
我得到了 kafka.errors.NoBrokersAvailable,尽管我仍然可以使用 curl 或其他 linux 东西轻松连接到 Kafka 代理服务器。
没有adverted.listeners或其他不推荐使用的广告选项有助于解决问题。因此,唯一有效的配置状态是没有侦听器的状态。这当然是不可接受的,因为我们需要以某种方式设置本地集群。
似乎这个愚蠢问题的解决方案很简单,并且正在思考,但我们自己无法弄清楚。