随笔 - 45  文章 - 0 评论 - 7 阅读 - 20万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

参考site:https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools

目前我们的topic  test-add-replication-topic中partition 0的replicas为[1,2],则1为preferred replica,应该成为leader。 
这时我们期望2为preferred replica,并变成leader。

操作步骤:

1. 查看当前topic详细信息:

  > bin/kafka-topics.sh --describe --zookeeper h1:2181 --topic test-add-replication-topic

    Topic:test-add-replication-topic PartitionCount:3 ReplicationFactor:3 Configs:

      Topic: test-add-replication-topic Partition: 0 Leader: 1 Replicas: 1,2 Isr: 1,2

      Topic: test-add-replication-topic Partition: 1 Leader: 2 Replicas: 2,0,1 Isr: 0,1,2
      Topic: test-add-replication-topic Partition: 2 Leader: 0 Replicas: 0,1 Isr: 0,1

2. 修改replicas顺序

  > cat partitions-to-move.json 

    

      "version":1,
      "partitions":
      [
      {
        "topic":"test-add-replication-topic",
        "partition":0,
        "replicas":[2,1]
      }
      ]
    }

  > bin/kafka-reassign-partitions.sh --zookeeper h1:2181 --reassignment-json-file partitions-to-move.json --execute

    Current partition replica assignment

    {"version":1,"partitions":[{"topic":"test-add-replication-topic","partition":1,"replicas":[2,0,1]},{"topic":"test-add-replication-topic","partition":2,"replicas":[0,1]},

    {"topic":"test-add-replication-topic","partition":0,"replicas":[1,2]}]}

    Save this to use as the --reassignment-json-file option during rollback
    Successfully started reassignment of partitions {"version":1,"partitions":[{"topic":"test-add-replication-topic","partition":0,"replicas":[2,1]}]}

3. 更改leader

  > cat topicPartition.json 

    {
      "version":1,
      "partitions":
      [
      {
        "topic":"test-add-replication-topic",
        "partition":0
      }
      ]
    }

  > bin/kafka-preferred-replica-election.sh --zookeeper h1:2181 --path-to-json-file topicPartition.json 

    Successfully started preferred replica election for partitions Set([test-add-replication-topic,0])

4.检查replicas leader切换情况 

  > bin/kafka-topics.sh --describe --zookeeper h1:2181 --topic test-add-replication-topic

    Topic:test-add-replication-topic PartitionCount:3 ReplicationFactor:3 Configs:

      Topic: test-add-replication-topic Partition: 0 Leader: 2 Replicas: 2,1 Isr: 1,2
      Topic: test-add-replication-topic Partition: 1 Leader: 2 Replicas: 2,0,1 Isr: 0,1,2
      Topic: test-add-replication-topic Partition: 2 Leader: 0 Replicas: 0,1 Isr: 0,1

  到此,partition 0中的leader已经修改成功。

 

 

 

posted on   一寸相思万千劫  阅读(4492)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示