如何确定Kafka的API版本?

时间:2019-07-17 13:15:48

标签: apache-kafka kafka-producer-api kafka-python

我正在使用kafka-python访问Kafka。我尝试创建一个Kafka Producer:

kafka_producer = KafkaProducer(bootstrap_servers=['kafka:9092'])

但这会失败,但出现异常 kafka.errors.NoBrokersAvailable:NoBrokersAvailable

我发现我需要向KafkaProducer中添加api_version参数:

kafka_producer = KafkaProducer(bootstrap_servers=['kafka:9092'],
                               api_version=(0, 10, 1))

此命令有效。

问题是:如何确定api_version 的值?

kafka-broker-api-versions.sh --bootstrap-server localhost:9092给了我一些东西,但是我不确定是否可以使用一个数字。我尝试了api_version=(20, 2, 1)之类的随机值,它也起作用。

1 个答案:

答案 0 :(得分:0)

这已经在评论中的讨论中解决了:

<块引用>

理想情况下,它是您安装的 Kafka 版本,或者最低的 您的目标版本。 0.10.2 是一个安全的默认值

这就是任何版本的新客户端都应该可以工作的点 - cwiki.apache.org/confluence/display/KAFKA/Compatibility+Matrix