繁体   English   中英

如何将kafka python客户端连接到k8s服务?

[英]How to connect kafka python client to k8s service?

我在 9092 端口的 10.zz.yy.xx 上运行 k8s Kafka 服务。 我为 kafka 安装了 python 客户端。 所以想尝试生产者和消费者是否正常工作。

这是producer.py

from kafka import KafkaProducer
kafka_host = "10.zz.yy.xx.:9092"
print(kafka_host)

producer = KafkaProducer(bootstrap_servers=kafka_host)
 print("Initialized")
 producer.send('Hello','This is my text')


TOPIC_NAME = 'items'
producer = KafkaProducer(bootstrap_servers=kafka_host)
                          
producer.send(TOPIC_NAME, b'Test Message')
producer.flush()`

这是consumer.py

from kafka import KafkaConsumer
TOPIC_NAME = 'items'
consumer = KafkaConsumer(TOPIC_NAME)
for message in consumer:
    print(message)

我收到错误消息: kafka.errors.NoBrokersAvailable: NoBrokersAvailable 我指的是错误的服务吗? 任何帮助将非常感激。

您不需要连接到 Zookeper 端口,而是连接到 Kafka Broker 端口。 尝试连接 Zookeper 最终会出现kafka.errors.NoBrokersAvailable: NoBrokersAvailable错误消息。

根据文档

bootstrap_servers – 'host[:port]' 字符串(或 'host[:port]' 字符串列表),消费者应联系以引导初始集群元数据。 这不必是完整的节点列表。 它只需要至少一个代理来响应元数据 API 请求。 默认端口为 9092。如果未指定服务器,则默认为 localhost:9092

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM