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的主要作用

  1. 当集群中有⼀个副本的leader挂掉,需要在集群中选举出⼀个新的leader,选举的规则是从isr集合中最左边获得。
  2. 当集群中有broker新增或减少,controller会同步信息给其他broker
  3. 当集群中有分区新增或减少,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/#

搭建

  1. 官网下载压缩包 http://download.kafka-eagle.org/
  2. 分配⼀台虚拟机
  3. 虚拟机中安装jdk
  4. 解压缩kafka-eagle的压缩包
  5. 给kafka-eagle配置环境变量
export KE_HOME=/usr/local/kafka-eagle
export PATH=$PATH:$KE_HOME/bin
  1. 需要修改kafka-eagle内部的配置⽂件: vim system-config.properties
    修改⾥⾯的zk的地址和mysql的地址
  2. 进⼊到bin中,通过命令来启动
./ke.sh start

平台的使⽤



以上是关于Kafka--07---kafka集群中的controllerrebalanceHW 和 Kafka-eagle监控平台的主要内容,如果未能解决你的问题,请参考以下文章

红移中的 PERCENTILE_CONT()

K8S 核心组件 Controller manager

apache spark sql中的等效percentile_cont函数

二分法在算法题中的4种常见应用(cont.)

基于Javascript中的一列从多列中删除重复项

在 Vertica 中创建 percentile_cont 作为聚合函数