26.2. 降级基于 KRaft 的 Kafka 集群和客户端应用程序
将基于 KRaft 的 Apache Kafka 集群的流降级为早期版本。当将 KRaft-based Streams for Apache Kafka 集群降级到较低版本时,如从 3.7.0 移到 3.6.0 时,请确保 Kafka 集群使用的元数据版本是您要降级的 Kafka 版本支持的元数据版本。您从中降级的 Kafka 版本的元数据版本不能高于您要降级的版本。
有关基于 KRaft 的降级支持和限制的详情,请参考 Apache Kafka 文档。
先决条件
- Cluster Operator 已启动并在运行。
在降级 Apache Kafka 集群的 Streams 之前,请检查以下
Kafka资源:-
Kafka自定义资源不包含被降级的 Kafka 版本不支持的选项。 -
spec.kafka.metadataVersion设置为一个版本,由要降级的 Kafka 版本支持。
-
流程
更新 Kafka 集群配置。
oc edit kafka <kafka_configuration_file>
oc edit kafka <kafka_configuration_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
metadataVersion版本改为您要降级的 Kafka 版本支持的 metadataVersion 版本;使Kafka.spec.kafka.version保持不变。例如,如果从 Kafka 3.7.0 降级到 3.6.0 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意metadataVersion的值必须是字符串,以防止它被解释为浮点数。-
保存更改,并等待 Cluster Operator 为
Kafka资源更新.status.kafkaMetadataVersion。 将
Kafka.spec.kafka.version更改为之前的版本。例如,如果从 Kafka 3.7.0 降级到 3.6.0 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 Kafka 版本的镜像与 Cluster Operator 的
STRIMZI_KAFKA_IMAGES中定义的镜像不同,请更新Kafka.spec.kafka.image。等待 Cluster Operator 更新集群。
您可以从
Kafka资源的状态中检查降级是否已成功完成。降级所有客户端应用程序(使用者)以使用之前的客户端二进制文件版本。
Kafka 集群和客户端现在使用以前的 Kafka 版本。