我在 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
。
我指的是错误的服务吗?任何帮助将不胜感激。
答案 0 :(得分:0)
您不需要连接到 Zookeper 端口,而是需要连接到 Kafka Broker 端口。
尝试连接到 Zookeper 最终会
kafka.errors.NoBrokersAvailable: NoBrokersAvailable
错误消息。
bootstrap_servers – ‘host[:port]’字符串(或‘host[:port]’字符串列表)消费者应该联系以引导初始集群元数据。这不必是完整的节点列表。 它只需要至少一个代理来响应元数据 API 请求。默认端口为 9092。如果没有指定服务器,将默认为 localhost:9092