Kafka--07---kafka集群中的controllerrebalanceHW 和 Kafka-eagle监控平台
Posted 高高for 循环
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kafka--07---kafka集群中的controllerrebalanceHW 和 Kafka-eagle监控平台相关的知识,希望对你有一定的参考价值。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
kafka集群中的controller、rebalance、HW
1.controller
1.1 集群中谁来充当controller
每个broker启动时会向zk创建⼀个临时序号节点,获得的序号最⼩的那个broker将会作为集群中的controller
1.2 controller的主要作用
- 当集群中有⼀个副本的leader挂掉,需要在集群中选举出⼀个新的leader,选举的规则是从isr集合中最左边获得。
- 当集群中有broker新增或减少,controller会同步信息给其他broker
- 当集群中有分区新增或减少,controller会同步信息给其他broker
2.rebalance机制
2.1 前提
消费组中的消费者没有指明分区来消费
2.2 触发的条件
当消费组中的消费者和分区的关系发⽣变化的时候
- 消费者挂了
- 新增消费者
2.3 分区分配的策略
- range:
根据公示计算得到每个消费消费哪⼏个分区:前⾯的消费者是分区总数/消费 者数量+1,之后的消费者是分区总数/消费者数量 - 轮询:⼤家轮着来
- sticky:粘合策略,
如果需要rebalance,会在之前已分配的基础上调整,不会改变之 前的分配情况。如果这个策略没有开,那么就要进⾏全部的重新分配。建议开启。
3.HW 和 LEO
LEO:
- 是某个副本最后消息的消息位置(log-end-offset)
HW :
- HW俗称⾼⽔位,HighWatermark的缩写,取⼀个partition对应的ISR中最⼩的LEO(log-endoffset) 作为HW
- consumer最多只能消费到HW所在的位置
规则
- HW是已完成同步的位置。消息在写⼊broker时,且每个broker完成这条消息的同步后,hw才会变化。在这之前消费者是消费不到这条消息的。
- 在同步完成之后,HW更新之后,消费者才能消费到这条消息,这样的⽬的是防⽌消息的丢失。
Kafka-eagle监控平台
kafka-eagle官⽹
http://www.kafka-eagle.org/#
搭建
- 官网下载压缩包 http://download.kafka-eagle.org/
- 分配⼀台虚拟机
- 虚拟机中安装jdk
- 解压缩kafka-eagle的压缩包
- 给kafka-eagle配置环境变量
export KE_HOME=/usr/local/kafka-eagle
export PATH=$PATH:$KE_HOME/bin
- 需要修改kafka-eagle内部的配置⽂件: vim system-config.properties
修改⾥⾯的zk的地址和mysql的地址 - 进⼊到bin中,通过命令来启动
./ke.sh start
平台的使⽤
以上是关于Kafka--07---kafka集群中的controllerrebalanceHW 和 Kafka-eagle监控平台的主要内容,如果未能解决你的问题,请参考以下文章