我运行的是一个kafka服务器,有多个产品和消费者。现在我想通过添加另一个代理来实现kafka集群。如何使用相同的主题和复制因子来实现这一点。
s4chpxco1#
现在您要移动到一个具有两个kafka代理的集群,然后您应该使用以下命令将分区的数量增加到两个。
kafka-topics --topic my-topic --alter --partitions 2 --zookeeper zoo1
kafka-topics --topic my-topic --describe --zookeeper zoo1 Topic:my-topic PartitionCount:2 ReplicationFactor:1 Configs: Topic: my-topic Partition: 0 Leader: 0 Replicas: 1 Isr: 0 Topic: my-topic Partition: 1 Leader: 2 Replicas: 1 Isr: 1
增加现有主题的复制因子很容易。需要在自定义重新分配json文件中指定额外的副本,并将其与--execute选项一起使用。创建increase-replication-factor.json
{"version":1, "partitions":[ {"topic":"my-topic","partition":0,"replicas":[0,1]}, {"topic":"my-topic","partition":1,"replicas":[0,1]} ]}
执行以下命令
kafka-reassign-partitions --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --execute
您可以使用以下命令验证复制副本。
kafka-topics --zookeeper localhost:2181 --topic my-topic --describe Topic: my-topic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1 Topic: my-topic Partition: 1 Leader: 1 Replicas: 0,1 Isr: 0,1
我建议您通过下面的链接在两个分区上平均地重新分配数据。https://labs.tabmo.io/rebalancing-kafkas-partitions-803918d8d244https://kafka.apache.org/documentation/#基本#操作Š增加Š复制Š因子希望对你有帮助。
1条答案
按热度按时间s4chpxco1#
现在您要移动到一个具有两个kafka代理的集群,然后您应该使用以下命令将分区的数量增加到两个。
观察分区编号为2且rf:1的分区
增加现有主题的复制因子很容易。需要在自定义重新分配json文件中指定额外的副本,并将其与--execute选项一起使用。
创建increase-replication-factor.json
执行以下命令
您可以使用以下命令验证复制副本。
我建议您通过下面的链接在两个分区上平均地重新分配数据。
https://labs.tabmo.io/rebalancing-kafkas-partitions-803918d8d244https://kafka.apache.org/documentation/#基本#操作Š增加Š复制Š因子
希望对你有帮助。