我们在三节点Azure群集中部署了Apache Kafka 0.10.2.0。我们未在log.message.format.version
文件中指定server.properties
选项,因此我们希望它应该是Kafka版本(即0.10.2.0
)。
但是在尝试执行Kafka经纪人滚动升级时,我们注意到服务器日志中有log.message.format.version=0.10.2.0-IV0
。
根据Kafka upgrade guide 似乎 log.message.format.version
总是与Kafka版本本身完全相同(如果没有被{{1}覆盖配置,当然)。
server.properties
版本号后缀是什么意思?-IV0
默认值与Kafka版本不同?答案 0 :(得分:2)
基本上,IV0
,IV1
,IV2
等是Kafka版本中的协议版本。特定的Kafka版本在开发时可以进行多种协议更改。
由于api协议可能在同一个内部改变不止一次 发布并方便人们从主干部署代码,我们有 内部版本的概念(首先在0.10.0期间引入 发展周期)。例如,我们第一次介绍版本 在发布中更改,比如0.10.0,我们将添加一个配置值 “0.10.0-IV0”和相应的案例对象KAFKA_0_10_0-IV0。我们会 还要添加一个配置值“0.10.0”,它将映射到最新版本 内部版本对象,即KAFKA_0_10_0-IV0。当我们改变了 协议第二次开发0.10.0时,我们将添加一个新的 配置值“0.10.0-IV1”和相应的案例对象 KAFKA_0_10_0-IV1。我们将配置值“0.10.0”更改为映射到 最新的内部版本对象KAFKA_0_10_0-IV1。配置值 “0.10.0-IV0”仍然映射到KAFKA_0_10_0-IV0。这样,如果 人们从主干部署,他们可以使用“0.10.0-IV0”和 “0.10.0-IV1”一次升级一个内部版本。对于大多数 只想使用发布版本的人,可以使用“0.10.0” 升级到0.10.0版本时。