You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Strimzi Cruise Control默认主题副本因子修改为3?

解决Strimzi Cruise Control主题副本因子配置失效问题

原配置问题点

  • 重复配置键:cruise.control.modeltrainingsamples.topic被重复定义两次,第二次赋值直接覆盖了第一次,导致modeltrainingsamples主题的所有配置完全失效。
  • 拼写错误:配置里的modeltraingsamples少了字母i,正确名称应为modeltrainingsamples,这个错误会让Cruise Control无法识别对应主题的配置项。

正确配置方案

1. 更新Kafka CR配置(适用于未创建的主题)

修正拼写和重复键问题后的完整配置如下:

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    version: 3.3.1
    replicas: 3
    listeners:
    - name: plain
      port: 9092
      type: internal
      tls: false  
    - name: tls
      port: 9093
      type: internal
      tls: true
    config:
      offsets.topic.replication.factor: 3
      transaction.state.log.replication.factor: 3
      transaction.state.log.min.isr: 2
      default.replication.factor: 3
      min.insync.replicas: 2
      inter.broker.protocol.version: "3.3"
    storage:
      type: ephemeral
  zookeeper:
    replicas: 3
    storage:
      type: ephemeral
  entityOperator:
    topicOperator: {}
    userOperator: {}
  cruiseControl:
    config:
      # Model Training Samples 主题配置
      cruise.control.modeltrainingsamples.topic: strimzi.cruisecontrol.modeltrainingsamples
      cruise.control.modeltrainingsamples.topic.replication.factor: 3
      cruise.control.modeltrainingsamples.topic.min.insync.replicas: 2
      # Partition Metric Samples 主题配置
      cruise.control.partitionmetricsamples.topic: strimzi.cruisecontrol.partitionmetricsamples
      cruise.control.partitionmetricsamples.topic.replication.factor: 3
      cruise.control.partitionmetricsamples.topic.min.insync.replicas: 2

2. 调整已存在主题的副本因子(如果主题已创建)

如果这两个主题已经存在于集群中,上述CR配置不会修改现有主题的副本因子,需要手动执行以下操作:

  • 进入任意一个Kafka broker Pod:
    kubectl exec -it my-cluster-kafka-0 -- /bin/bash
    
  • 使用Kafka命令行工具修改主题副本因子:
    # 修改modeltrainingsamples主题
    kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic strimzi.cruisecontrol.modeltrainingsamples --replication-factor 3
    # 修改partitionmetricsamples主题
    kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic strimzi.cruisecontrol.partitionmetricsamples --replication-factor 3
    
  • 验证修改结果:
    kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic strimzi.cruisecontrol.modeltrainingsamples
    kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic strimzi.cruisecontrol.partitionmetricsamples
    

关键注意事项

  • 确保Kafka集群至少有3个broker副本(你的配置中已满足replicas: 3),否则无法设置副本因子为3。
  • 主题副本调整完成后,Cruise Control无需重启即可使用新配置,后续收集的数据会自动使用更新后的主题副本。

内容的提问来源于stack exchange,提问作者andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 02:30:45