`
邢邢色色
  • 浏览: 225862 次
  • 性别: 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(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 ...

    kafkatool (2.0版本).dmg

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

    kafkatool客户端工具

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

    kafkatool 连接kafka工具

    kafka连接工具

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

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

    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_64.zip

    Kafka Tool 2.0.7 kafka可视化管理工 使用Kafka的小伙伴,有没有为无法直观地查看 Kafka 的 Topic 里的内容而发过愁呢? 下面推荐给大家一款带有可视化页面的Kafka工具:Kafka Tool (目前最新版本是 2.0.4)

    kafkatool_64bit

    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于...

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

    Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序。它提供了一个直观的UI,允许用户快速查看Kafka群集中的对象以及存储在群集主题中的消息

    KafkaTool_2.0.7.zip

    KafkaTool_2.0.7 dmg + 64bit-exe [For Kafka version 0.11 and later]

    kafkatool.exe

    Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序。它提供了一个直观的UI,允许用户快速查看Kafka群集中的对象以及存储在群集主题中的消息。它包含面向开发人员和管理员的功能。一些主要功能包括 快速...

    kafkatool_64bit.exe.zip

    Kafka Tool is a GUI application for managing and using Apache Kafka ® clusters. It provides an intuitive UI that allows one to quickly view objects within a Kafka cluster as well as the messages ...

    kafkatool 2.0.9 Windows & maxOS & Linux

    kafkatool 2.0.9 Windows & maxOS & Linux

    Kafka Tool 2.0.7(linux系统)

    下载文件解压后,直接运行bash kafkatool.sh后并选择yes即可完成安装

    kafka tool

    kafka tool kafka 可视化工具 mac,亲测可用,mac 10.14版本

    Python库 | kafka-dev-tools-0.0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:kafka-dev-tools-0.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    kafka学习之路

    kafka原理和架构及使用

    kafka tools.zip

    kafka tools,里面包含使用教程。一个可视化的kafka消费和topic结构工具,非常好用,推荐给大家。

    kafkatool-1.0.exe(kafka可视化工具)

    查看kafka上面数据的可视化工具, kafkatool-1.0.exe, 可以查看kafka 0.11以下版本:0.8, 0.9, 0.10

Global site tag (gtag.js) - Google Analytics