Confluent修改kakfa中分区数和副本数

    科技2025-08-07  5

    准备工作:

       已经创建了一个分区数为1,副本数为1的Topic,Topic的名为:_confluent-ksql-ksql_application__configs。  主题参数如下图所示。

     

    注:查看Topic的命令: (bin/kafka-topics 为Confluent的绝对路径)

    bin/kafka-topics --bootstrap-server node01:9092 --topic _confluent-ksql-ksql_application__configs --describe

    一、修改分区数(分区数只能修改为比之前大的分区数)

    修改命令:

    bin/kafka-topics --alter --zookeeper 192.168.87.101:2181 --topic _confluent-ksql-ksql_application__configs --partitions 3

    结果:

     

    二、修改副本数

    步骤:

    1.创建一个json文件,此处我创建了一个名为increase-replication-factor.json的文件。 文件内容:

    {"version":1, "partitions":[ {"topic":"_confluent-ksql-ksql_application__configs","partition":0,"replicas":[1,2,3]}, {"topic":"_confluent-ksql-ksql_application__configs","partition":1,"replicas":[1,2,3]}, {"topic":"_confluent-ksql-ksql_application__configs","partition":2,"replicas":[1,2,3]} ]}

    内容解释:

    "topic":"_confluent-ksql-ksql_application__configs"   :  为我要修改的topic的名字

    "partition": * :  修改副本的某个分区

    "replicas":[1,2,3]  :  1,2,3为自己设置的broker.id

     

    2.输出命令:

    bin/kafka-reassign-partitions --zookeeper node01:2181,node02:2181,node03:2181 --reassignment-json-file /opt/confluent-data/kafka-data/increase-replication-factor.json --execute

    结果:

    Processed: 0.016, SQL: 8