gpt4 book ai didi

python - Kafka SSL with Python : kafka. errors.NoBrokersAvailable: NoBrokersAvailable

转载 作者:太空宇宙 更新时间:2023-11-03 13:31:35 26 4
gpt4 key购买 nike

我正在尝试在 Apache Kafka 服务器和客户端之间进行安全通信。我创建了客户端和服务器 trustores 和 keystore ,并通过以下链接进行了相应的配置 - https://www.confluent.io/blog/apache-kafka-security-authorization-authentication-encryption/

这是我的以下代码:

from kafka import KafkaProducer, KafkaConsumer

producer = KafkaProducer(bootstrap_servers='cylc-vm:9092',
security_protocol='SSL',
ssl_cafile='CARoot.pem',
ssl_certfile='certificate.pem',
ssl_keyfile='key.pem')
producer.send('foobar1', b'some_message_bytes')
producer.flush()

consumer = KafkaConsumer('foobar1', auto_offset_reset='earliest', bootstrap_servers='cylc-vm:9092')

for each in consumer:
print(each)

在上面的代码中,当消费者尝试连接时,抛出以下异常:

Traceback (most recent call last):
File "test.py", line 14, in <module>
consumer = KafkaConsumer('foobar1', auto_offset_reset='earliest', bootstrap_servers='cylc-vm:9092')
File "/usr/lib/python3.6/site-packages/kafka/consumer/group.py", line 324, in __init__
self._client = KafkaClient(metrics=self._metrics, **self.config)
File "/usr/lib/python3.6/site-packages/kafka/client_async.py", line 221, in __init__
self.config['api_version'] = self.check_version(timeout=check_timeout)
File "/usr/lib/python3.6/site-packages/kafka/client_async.py", line 826, in check_version
raise Errors.NoBrokersAvailable()
kafka.errors.NoBrokersAvailable: NoBrokersAvailable

从 Consumer 类中删除 ssl args 的全部目的是验证 SSL 设置是否正常工作。我期待一些 SSL Authenticate 异常,但是抛出的异常是另外一回事。我在这里错过了什么或者这是预期的行为吗?它是否表明 SSL 在这里工作正常?

谢谢。

最佳答案

您应该使用在 server.properties 的监听器中定义的端口。 9092 是 PLAINTEXT 的默认值。

关于python - Kafka SSL with Python : kafka. errors.NoBrokersAvailable: NoBrokersAvailable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53188857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com