繁体   English   中英

如何将单个Kafka服务器中使用的Kafka主题迁移到具有复制因子2的Kafka集群?

[英]How to migrate Kafka topic used in a singe Kafka server to Kafka cluster with replication-factor 2?

我正在运行一个包含多个产品和消费者的Kafka服务器。 现在我想通过添加另一个代理来实现Kafka集群。 如何通过使用与replication-factor相同的主题来完成此操作。

现在您要迁移到具有两个kafka代理的集群,然后您应该使用以下命令将分区数增加到两个。

kafka-topics --topic my-topic --alter --partitions 2 --zookeeper zoo1

#观察分区号为2的分区和RF:1

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-803918d8d244 https://kafka.apache.org/documentation/#basic_ops_increase_replication_factor

希望它对你有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM