大数据学习:kafkaManager功能详解

news2024/11/16 11:56:09

kafkaManager功能详解

一.添加集群

1.1 常用参数说明

下面已常用的选项作说明

1)Enable JMX Polling

是否开启 JMX 轮训,该部分直接影响部分 kafka broker 和 topic 监控指标指标的获取(生效的前提是 kafka 启动时开启了 JMX_PORT。主要影响如下之指标的查看:

2) Poll consumer information

是否开启获取消费信息,直接影响能够在消费者页面和 topic 页面查看消费信息。

3) Enable Active OffsetCache

是否开启 offset 缓存,决定 kafka-manager 是否缓存住 topic 的相关偏移量。

1.2 其余参数说明

参数名参数说明默认值备注
brokerViewUpdatePeriodSecondsBroker视图周期更新时间/单位(s)30
clusterManagerThreadPoolSize集群管理线程池大小2
clusterManagerThreadPoolQueueSize集群管理线程池列队大小100
KafkaCommandThreadPoolSizeKafka命令线程池大小2
logkafkaCommandThreadPoolQueueSizelogkafka命令线程池列队大小100
logkafkaUpdatePeriodSecondsLogkafka周期更新时间/单位(s)30
partitionOffsetCacheTimeoutSecsPartition Offset缓存过期时间/单位(s)5
brokerViewThreadPoolSizeBroker视图线程池大小83 * number_of_brokers
brokerViewThreadPoolQueue SizeBroker视图线程池队列大小10003 * total # of partitions across all topics
offsetCacheThreadPoolSizeOffset缓存线程池大小8
offsetCacheThreadPoolQueueSizeOffset缓存线程池列队大小1000
kafkaAdminClientThreadPoolSizeKafka管理客户端线程池大小8
kafkaAdminClientTheadPoolQueue SizecKafka管理客户端线程池队列大小1000
kafkaManagedOffsetMetadataCheckMillisOffset元数据检查时间30000(这部分解释属自己理解)
kafkaManagedOffsetGroupCacheSizeOffset组缓存大小100000(这部分解释属自己理解)
kafkaManagedOffsetGroupExpireDaysOffset组缓存保存时间7(这部分解释属自己理解)
Security Protocol安全协议PLAINTEXT[SASL_PLAINTEXT,SASL_SSL,SSL]

二. topic 的管理

2.1 topic 列表

下面对画方框的三列做着重解释。

1) Brokers Skew% (broker 倾斜率)

该 topic 占有的 broker 中,拥有超过该 topic 平均分区数的 broker 所占的比重。举个例子说明:

上图,我们以一个 6 个分区,2 个副本的 topic 举例,该 topic 一共 6 * 2 = 12 个 分区,分布在 5 个 broker 上,平均一个 broker 应该拥有 2.4 个分区,因为分区为整数,所以 2 个或者 3 个都是属于平均范围,5 个 broker 并没有那个拥有超过平均分区数的,所以 Brokers Skew% 为 0。

如果此时,我将 broker 1 上的分区 1 的副本移动到 broker 2 上,如下图所示:

上图,broker 2 上拥有 4 个分区,超过平均的 2 个或 3 个的平均水平,broker 2 就倾斜了,broker 倾斜率 1/5=20%。

注意如下这种情况也是不计算作倾斜的。

2) Brokers Leader Skew% (broker leader 分区倾斜率)

该 topic 占有的 broker 中,拥有超过该 topic 平均 Leader 分区数的 broker 所占的比重。同样举个例子说明:

我们还是以一个 6 个分区,2 个副本的 topic 举例,该 topic 一共有 6 个 Leader 分区,分布在 5 个 broker 上,平均一个 broker 应该拥有 1.2 个 Leader 分区,因为分区为整数,所以 1 个或者 2 个都是属于平均范围,如图所示,5 个 broker 没有那个拥有超过 2 个的 Leader 分区,所以 Brokers Leader Skew% 为 0。

如果此时,我们将 broker3 的 Leader 分区移动到 broker2,如下图所示:


此时,broker2 拥有 3 个 leader 分区,超过平均范围的 2 个,所以 broker2 就 Leader 分区倾斜了,倾斜率 1/5=20%。

3) Under Replicated%

该 topic 下的 partition,其中副本处于失效或者失败的比率。失败或者失效是指副本不处于 ISR 队列中。目前控制副本是否处于 ISR 中由 replica.log.max.ms 这个参数控制。
-replica.log.max.ms: 如果一个follower在这个时间内没有发送fetch请求或消费leader日志到结束的offset,leader将从ISR中移除这个follower,并认为这个follower已经挂了,默认值 10000 ms

用下图举例说明:

broker1 此时拥有 partition1 和 partition4,其中 partition4 是Leader,partition1 是副本,如果此时 broker 故障不可用,则会出现如下情况:

上述两张图片时接连展现,先是发现borker1 上 partition4 这个 Leader 分区失效,继而从 ISR 队列中取出 broker4 上的副本作为 Leader 分区,然后在后期同步检测过程中发现broker1 上 partition1 这个副本失效。最后导致的结果就是 partition1 和 partition4 都出于副本失效或者失败的状态。此时 Under Replicated 的数值为:2/6=33%。

总结: 上面三个参数对于衡量 topic 的稳定性有重要的影响:

  • Broker Skew: 反映 broker 的 I/O 压力,broker 上有过多的副本时,相对于其他 broker ,该 broker 频繁的从 Leader 分区 fetch 抓取数据,磁盘操作相对于其他 broker 要多,如果该指标过高,说明 topic 的分区均不不好,topic 的稳定性弱;
  • Broker Leader Skew:数据的生产和消费进程都至于 Leader 分区打交道,如果 broker 的 Leader 分区过多,该 broker 的数据流入和流出相对于其他 broker 均要大,该指标过高,说明 topic 的分流做的不够好;
  • Under Replicated: 该指标过高时,表明 topic 的数据容易丢失,数据没有复制到足够的 broker 上。

2.2 topic 详情

下面着重讲述红框部分:

1) Preferred Replicas
分区的副本中,采用副本列表中的第一个副本作为 Leader 的所占的比重,如上图,6 个副本组,其中只有 partition4 不是采用副本中的第一个在 broker1 中的分区作为 leader 分区,所以 Preferred Replicas 的值为 5/6=83%。

In an ideal scenario, the leader for a given partition should be the “preferred replica”. This guarantees that the leadership load across the brokers in a cluster are evenly balanced.

上述是关于“优先副本”的相关描述,即在理想的状态下,分区的 leader 最好是 “优先副本”,这样有利于保证集群中 broker 的领导权比较均衡。重新均衡集群的 leadership 可采用 kafka manager 提供的工具:

2.3 topic 操作

操作说明
Delete Topic删除 topic
Reassign Partitions平衡集群负载
Add Partitions增加分区
Update ConfigTopic 配置信息更新
Manual Partition Assignments手动为每个分区下的副本分配 broker
Generate Partition Assignments系统自动为每个分区下的副本分配 broker

1) Manual Partition Assignments
一般当有 Broker Skew 时或者 Broker Leader Skew 后可以借助该功能进行调整,本文前面的 Broker Skew 和 Broker Leader Skew 的说明都借助了该工具。
例如将下图中的 broker1 的分区4 移动到 broker2 上。

2) Generate Partition Assignments
该功能一般在批量移动 partition 时比较方便,比如集群新增 broker 或者 topic 新增 partition 后,将分区移动到指定的 broker。
例如下图将 topic 由原来的分布在 5 个 broker 修改为 4 个 broker:

3) Update Config

三.消费监控

kafka manager 能够获取到当前消费 kafka 集群消费者的相关信息。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/958039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue基础1:生命周期汇总(vue2)

Description 生命周期图: 可以理解vue生命周期就是指vue实例从创建到销毁的过程,在vue中分为9个阶段:创建前/后,载入前/后,更新前/后,销毁前/后,其他;常用的有:created&…

Spring容器及实例化

一、前言 Spring 容器是 Spring 框架的核心部分,它负责管理和组织应用程序中的对象(Bean)。Spring 容器负责创建、配置和组装这些对象,并且可以在需要时将它们提供给应用程序的其他部分。 Spring 容器提供了两种主要类型的容器&…

【Eclipse】搭建python环境;运行第一个python程序helloword

目录 0.环境 1.需准备&搭建思路 2.搭建具体步骤 1)查看是否安装过python 2)安装eclipse 3)安装和配置pyDev 3.创建第一个python程序具体步骤 1)新建项目 2)输入项目名字,和配置选项 3&#x…

用户角色权限demo后续出现问题和解决

将demo账号给到理解和蒋老师,测试的时候将登录人账号改了,结果登录不了了,后续还需要分配权限无法更改他人的账号和密码 将用户和权限重新分配(数据库更改,不要学我) 试着登录还是报一样的错,但…

OA项目之用户登录首页展示

目录 本章节目标:完成OA项目用户登录及首页展示 一.用户登录 User.java UserDao.java IUserDao.java UserAction.java login.jsp(登录界面) userManage.jsp (数据绑定,修改,删除) userEdit.jsp(用…

基于相空间重构的混沌背景下微弱信号检测算法matlab仿真,对比SVM,PSO-SVM以及GA-PSO-SVM

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 SVM 4.2 PSO-SVM 4.3 GA-PSO-SVM 5.算法完整程序工程 1.算法运行效果图预览 SVM: PSO-SVM: GA-PSO-SVM: 以上仿真图参考文献《基于相空间重构的混沌背景下微弱信号检测方法研究》 2.…

AAC和ADTS音频格式解析

1.ADTS是个啥 ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。 记得第一次做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播;保存到本地用pc的播放器播时,我靠也不能播。当时崩溃了,后来通过查找资料才知道。一般…

加速关断BJT开关电路

引言:BJT从导通到关闭存在一定的延时,在特定的场景中比如BJT电平转换,高频信号调理,这种延时存在很大的隐患,本节简述如何消除BJT的关断延时。 €1.延时的产生机理 类似于图15-1,晶体管从截止状态切换到导…

干货| ICML2023:作为自适应自进化规划器的扩散模型

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 作者介绍 梁志烜 香港大学计算机系直博一年级学生,导师为罗平教授,研究兴趣是生成式机器学习,Embodied AI和Data-centric learning。 报告题目 作为自适应自进化规划器的扩散…

本地部署体验LISA模型(LISA≈图像分割基础模型SAM+多模态大语言模型LLaVA)

GitHub地址:https://github.com/dvlab-research/LISA 该项目论文paper reading:https://blog.csdn.net/Transfattyacids/article/details/132254770 在GitHub上下载源文件,进入下载的文件夹,打开该地址下的命令控制台,…

耐蚀点蚀镀铜工艺

引言 随着5G技术的推出,导致电子电路和IC基板在设计中要求更高的密度。由于5G应用的性质,这些设计中的高可靠性和出色的电气性能也越来越重要。为了满足5G应用和其他下一代设备平台的需求,逐渐建立了使用改良半加成加工(mSAP)制造电路板的制…

前端将UTC时间格式转化为本地时间格式~~uniapp写法

UTC时间格式是什么 首先我们先简单的了解一下:UTC时间(协调世界时,Coordinated Universal Time)使用24小时制,以小时、分钟、秒和毫秒来表示时间 HH:mm:ss.SSSHH 表示小时,取值范围为00到23。mm 表示分钟…

photoshop,ps自带“不规则图形”在哪

下拉箭头(2步)后有个“齿轮”,点击齿轮,列表里有“全部”。

大数据HBase学习圣经:一本书实现HBase学习自由

学习目标:三栖合一架构师 本文是《大数据HBase学习圣经》 V1版本,是 《尼恩 大数据 面试宝典》姊妹篇。 这里特别说明一下:《尼恩 大数据 面试宝典》5个专题 PDF 自首次发布以来, 已经汇集了 好几百题,大量的大厂面试…

Springboot 接口方式硬通知实现ConfigurationProperties 、@Value 动态刷新

前言 看到这个文章标题,也许有的看官就觉得很多余, 因为Nacos 可以设置 NacosValue(value "${XXX}",autoRefreshed true) 实现动态刷新; 又因为cloud config的RefreshScope 实现动态刷新; 还有阿波罗...等 这…

MAVEN利器:一文带你了解MAVEN中的依赖管理

前言: 强大的构建工具——Maven。作为Java生态系统中的重要组成部分,Maven为开发人员提供了一种简单而高效的方式来构建、管理和发布Java项目。无论是小型项目还是大型企业级应用,Maven都能帮助开发人员轻松处理依赖管理、编译、测试和部署等…

iOS 使用coreData存贮页面的模型数据中的字典

我们使用coreData时候,会遇到较为复杂的数据类型的存贮,例如,我们要存一个模型,但是一个模型里面有个字典,这时候,我们该如何存贮呢 如图所示,一个对象中含有一个字典 我们实现一个公共的方法…

无涯教程-Flutter - 安装步骤

本章将指导您详细在本地计算机上安装Flutter。 在Windows中安装 在本节中,让无涯教程看看如何在Windows系统中安装 Flutter SDK 及其要求。 第1步 - 转到URL,https: //flutter.dev/docs/get-started/install/windows并下载最新的Flutter SDK。 第2步 - 将zip归档…

(leetcode1761一个图中连通三元组的最小度数,暴力+剪枝)-------------------Java实现

(leetcode1761一个图中连通三元组的最小度数,暴力剪枝)-------------------Java实现 题目表述 给你一个无向图,整数 n 表示图中节点的数目,edges 数组表示图中的边,其中 edges[i] [ui, vi] ,…

电脑锁屏怎么设置?这5个方法都管用!

“我的电脑好像没有锁屏,就算我很久没用电脑也不会息屏。这是为什么呢?有什么方法可以为电脑设置锁屏吗?” 电脑锁屏是保护隐私和安全的重要手段。如果我们希望在不使用电脑时电脑自动进行锁屏,是可以手动设置的。那么&#xff0c…