准备工作:
已经创建了一个分区数为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
结果: