17.5.4. 升级 Kafka 代理以使用新的消息格式版本
升级客户端应用程序后,您可以更新 Kafka 代理以使用新的消息格式版本。
如果您在升级客户端应用程序时使用 AMQ Streams 1.8 所需的 Kafka 版本 时没有 修改主题配置,Kafka 代理现在会将信息转换为以前的消息格式版本,这可能会导致性能降低。因此,务必要更新所有 Kafka 代理,以便尽快使用新的消息格式版本。
注意
逐一更新并重启 Kafka 代理。在重启修改的代理前,请停止您之前配置和重启的代理。
先决条件
- 您已更新了 ZooKeeper 二进制文件,并将所有 Kafka 代理升级到 AMQ Streams 1.8
- 您已将 Kafka 代理配置为使用新的 Inter-broker 协议版本。
-
您已升级支持的客户端应用程序,这些应用程序使用 没有在 主题级别明确配置
message.format.version
属性的主题中的信息。 -
以
kafka
用户身份登录 Red Hat Enterprise Linux。
流程
对于 AMQ Streams 集群中的每个 Kafka 代理,一次一个:
-
在文本编辑器中,打开您要更新的 Kafka 代理的代理属性文件。代理属性文件通常存储在
/opt/kafka/config/
目录中。 将
log.message.format.version
设置为2.8
。log.message.format.version=2.8
在命令行中,停止您最近修改并重启的 Kafka 代理。如果要在此过程中修改第一个 Kafka 代理,请转至第 4 步。
/opt/kafka/bin/kafka-server-stop.sh jcmd | grep kafka
重启您在第二步中修改了配置的 Kafka 代理:
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
-
验证重启的 Kafka 代理是否已捕获了以下分区副本。使用
kafka-topics.sh
工具确保代理中包含的所有副本都重新同步。具体步骤请查看 列出和描述主题。