[英]How to run 'connect_get_namespaced_pod_exec' as root in python k8s client
[英]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.