`
邢邢色色
  • 浏览: 230170 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Kafka学习之Replication tools之Preferred Replica Leader Election Tool

阅读更多

原文链接:https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools#Replicationtools-2.PreferredReplicaLeaderElectionTool

这工具做了啥?

为了支持replication功能,每一个partition可以有多个replica。一个partition的replica列表称为"assigned replicas"。在这个列表中的第一个replica称为"preferred replica"。当创建topic/partitions时,Kafka要确保所有的topic的"preferred replica"要平均的分布在Kafka集群中。在理想的场景中,一个partition的leader应该是"preferred replica"。这保证了leadership带来的负载可以在整个集群中进行均衡。然而,如果有broker shutdown了(比如controlled shutdown,crash,机器故障)的话,那么leadership负载就不均衡了(imbalance)。此工具就是用来在整个集群中恢复leadership的均衡。下面是此工具的操作步骤:

 

1,此工具更新ZK的路径 "admin/preferred_replica_election",写入一个topic的partition的列表,说明哪些partition的leader需要进行变化。


2,controller对上面说的那个路径进行监听,当数据更新时进行触发,controller会从ZK中读取相应的数据。


3,对于每一个topic的partition,controller先获得preferred replica(就是assigned replicas列表中的第一个replica),如果这个preferred replica不是leader,controller则向preferred replica所在的那个broker发送一个请求,使之成为partition的leader。

 

注意此工具仅更新ZK上的对应路径上的数据并退出。controller则异步的把某个partition的leadershipi转移到preferred replica。

 

如何使用此工具?

bin/kafka-preferred-replica-election.sh --zookeeper localhost:12913/kafka 
--path-to-json-file topicPartitionList.json

其中--zookeeper是必填的,--path-to-json-file是可选的,此参数提供了内容为json的文件,其中包含了topic的partition列表。如果没有提供此参数,此工具查询ZK,并得到集群中的所有的topic的partition。此工具在更新ZK路径"/admin/preferred_replica_election"之后就退出了。下面是一个json文件的例子:

 

{
 "partitions":
  [
    {"topic": "topic1", "partition": "0"},
    {"topic": "topic1", "partition": "1"},
    {"topic": "topic1", "partition": "2"},
 
    {"topic": "topic2", "partition": "0"},
    {"topic": "topic2", "partition": "1"},
  ]
}

 

FAQ

如果preferred replica不在ISR中会发生什么?

如果preferred replica不在ISR中,controller转移leadership的时会失败。这会确保不会造成数据丢失。当之后又重新出现在in-sync中,那么此工具会再一次运行把leadership转移给它。

 

在运行此工具后,如果确认所有的partition的leadership成功转移到preferred replica

ListTopicCommand是一个很好的工具,提供了集群中的所有topic的一个overview。对于每一个topic的partition,显示了该partition的leader,assigned replicas,和当前的in-sync replica集合。如果leader和assigned replica的第一个replica一致,那么此工具执行成功,否则,可能必须重新运行一次。

分享到:
评论

相关推荐

    Kafka Tool 2.0.7(linux系统)

    **Kafka Tool 2.0.7 在 Linux 系统中的使用详解** Kafka Tool 是一款功能强大的 Apache Kafka 管理工具,适用于监控、管理、以及数据迁移等任务。在 Linux 系统中,我们可以方便地利用此工具进行各种 Kafka 相关的...

    kafkatool 连接kafka工具

    **Kafka Tool 连接 Kafka 工具详解** 在大数据处理和实时流处理领域,Apache Kafka 是一个不可或缺的组件,它作为一个分布式的消息中间件,提供高效、可扩展且可靠的发布订阅服务。为了方便管理和操作 Kafka 集群,...

    Kafka Tool 2.0.4.zip

    Kafka Tool 2.0.4是一款专为Kafka设计的强大的客户端工具,尤其适用于Mac操作系统。它提供了一种直观且可视化的界面,让用户能够轻松地连接到Kafka服务并进行各种操作,包括但不限于管理Topic、监控集群状态以及进行...

    kafkaTool工具.exe

    kafkaTool工具是kafka的一个监控工具,可以监控kafka的集群健康情况

    Kafka 可视化工具(Kafka Tool_windows_64bit).rar

    1、图形化界面可以直观地查看 Kafka 的 Topic 里的内容 2、自由设置 Kafka 数据展示格式 3、使用 Kafka Tool 创建/删除 Topic 4、使用 Kafka Tool 模拟发送 Messages

    kafkatool 2.0.9 Windows & maxOS & Linux

    《Kafkatool 2.0.9:跨平台的高效 Kafka 管理利器》 Kafkatool 2.0.9 是一个强大的命令行工具,专为 Apache Kafka 设计,支持 Windows、macOS 和 Linux 操作系统。这款工具提供了一套全面的命令,使得管理员和...

    Kafka管理工具Kafka Tool

    **Kafka Tool:高效管理...总的来说,Kafka Tool是Kafka管理员和开发者的得力助手,它简化了与Kafka交互的过程,提高了工作效率,是管理复杂Kafka集群不可或缺的工具之一。无论是日常运维还是问题排查,都能从中受益。

    kafka2种工具 kafkatool-64bit.exe kafka-eagle-bin-1.4.6.tar.gz

    本文将围绕标题和描述中提到的两种Kafka工具——kafkatool-64bit.exe和kafka-eagle-bin-1.4.6.tar.gz进行详细介绍,帮助读者理解它们的功能和用途。 首先,我们来看kafkatool-64bit.exe,这是一个开箱即用的Kafka...

    Kafka Tool 2.0.7(windows 32\64).7z

    kafkatool 国内可能下载不了,搞32 64位的都压缩在一起了Kafka Tool 2.0.7( 32\64) To download the Kafka UI Tool for your operating system, use the links below. All versions of Kafka Tool come with a ...

    Kafka Tool linux版本,适用于kafka0.11及以上

    7. **安全支持**:如果Kafka集群启用了SASL/SSL或Kerberos等安全机制,Kafka Tool也能很好地与之兼容,确保管理操作的安全性。 8. **命令行集成**:虽然Kafka Tool提供了一个直观的UI,但它也支持通过命令行执行...

    kafkatool_64bit_v1.0.3.exe.zip

    To download the Kafka UI Tool for your operating system, use the links below. All versions of Kafka Tool come with a bundled JRE with the exception of the Linux version. For Linux, you must have Java ...

    kafkatool (2.0版本).dmg

    kafka的开源客户端连接工具,简单易用,业内公认好用。使用教程网上众多,方便快速入门,使用门槛低,kafka的开源客户端连接工,kafka的开源客户端连接工,kafka的开源客户端连接工,kafka的开源客户端连接工

    KafkaTool_2.0.7.zip

    **KafkaTool 2.0.7:一款强大的Kafka管理工具** KafkaTool是一款针对Apache Kafka设计的高效、易用的图形化管理工具,版本2.0.7专为Kafka 0.11及更高版本提供支持。在这款工具的帮助下,用户可以便捷地进行各种操作...

    kafkatool客户端工具

    kafkatool客户端工具,查询kafka中的信息。

    kafkatool_64bit 可视化工具

    《Kafkatool_64bit:一款强大的Kafka可视化工具》 Kafkatool_64bit是一款专为64位操作系统设计的Kafka管理工具,它以其直观的界面和丰富的功能,使得管理和监控Apache Kafka集群变得轻而易举。这款工具的主要目标是...

    kafka可视化工具--kafkatool

    **Kafka工具详解——Kafkatool** Kafka作为一个分布式流处理平台,广泛应用于大数据实时处理和消息传递。然而,管理Kafka集群和操作其组件(如topics、partitions、offsets等)可能会变得复杂,这时就需要一些可视...

    kafkatool2.zip

    《Kafka GUI管理工具——KafkaTool2深度解析》 在大数据实时处理领域,Apache Kafka以其高吞吐、低延迟的特性,成为了消息队列和流处理平台的首选。然而,对于Kafka的管理和运维,如果没有合适的工具,可能会变得...

    kafkatool_64bit.rar

    而为了更好地管理和监控Kafka集群,开发者们通常会依赖于一些工具,其中之一就是Kafka Tool。本文将详细介绍Kafka Tool 2.0.9版本的功能特性及其在Kafka集群管理中的应用。 Kafka Tool是一款强大的开源工具,专为...

    Kafka Tool Mac版本,适用于kafka0.11及以上

    **Kafka Tool for Mac: 管理与使用Apache Kafka集群的理想选择** Kafka Tool是一款专为Apache Kafka设计的强大管理工具,尤其适用于Mac用户。它提供了直观的图形用户界面(GUI),使得对Kafka集群的操作变得简单易...

    KafkaTool1.0.3.zip

    【Kafka Tool 1.0.3】是一个专为管理和监控Apache Kafka集群设计的强大工具,尤其适用于使用0.10及更早版本的Kafka。这个版本提供了64位的可执行程序,包括Windows(kafkatool_64bit.exe)和Mac OS X(kafkatool.dmg...

Global site tag (gtag.js) - Google Analytics