Mic*_*ndr 7 apache-kafka kafka-python kafka-producer-api
我正在使用kafka-python访问 Kafka。我尝试创建一个 Kafka Producer:
kafka_producer = KafkaProducer(bootstrap_servers=['kafka:9092'])
Run Code Online (Sandbox Code Playgroud)
但这会因kafka.errors.NoBrokersAvailable: NoBrokersAvailable异常而失败。
我发现我需要向api_versionKafkaProducer添加参数:
kafka_producer = KafkaProducer(bootstrap_servers=['kafka:9092'],
api_version=(0, 10, 1))
Run Code Online (Sandbox Code Playgroud)
此命令有效。
问题是:如何确定 的值api_version?
kafka-broker-api-versions.sh --bootstrap-server localhost:9092给了我一些东西,但我不确定是否有我可以使用的号码。我尝试了随机值api_version=(20, 2, 1),它也有效。
这个问题已经在评论的讨论中解决了:
理想情况下,它是您安装的 Kafka 版本,或者您目标的最低版本。0.10.2 是安全的默认值
这就是任何版本的新客户端都应该工作的点 - cwiki.apache.org/confluence/display/KAFKA/Compatibility+Matrix
| 归档时间: |
|
| 查看次数: |
6086 次 |
| 最近记录: |