kafka集群under replicated分析
近期随着业务消息量增大,现网几套kafka集群频繁收到under repliacted告警,集合近期定位分析过程,主要有以下几个方面:
1. 查看是否有主机挂掉,或近期是否有主机重启,通过kafdrop查看started时间,若有异常重启,需要分析日志定位原因;
2. 使用kafdrop可以对分区副本情况进行排查,若发现大部分under replicated的分区都与某个broker上的副本有关,则很可能是broker的问题,可以重点分析下server.log和controller.log
3. 消息量大导致broker间同步消息瓶颈,由于默认副本同步线程数num.replica.fetchers=5,所以针对消息量大或者消息体较大的场景,可以适当调高该配置;
4. CPU负载:检查CPU负载,检查软中断均衡是否开启,消息量大的场景建议开启软中断均衡,但是软中断开启均衡后可能加剧CPU的负载,因为CPU用于单块CPU用于上下文切换的时间减少了,如果请求量足够,会放通更多的请求进来,TPS进一步增加,若CPU持续高于40%,建议扩容CPU,或者增加扩容broker节点数并rebalance topic数据,或者新建集群迁移部分topic过去;
5.磁盘负载:
a. 使用top查看wa占用CPU的百分比,如果该占比长时间大于5%,则需要考虑优化;
b. 使用iostat -x 1查看磁盘io状态,util%为操作的时间占比,长时间接近100%说明磁盘满负荷工作,需要优化,svctm是平均每次io操作的服务时间,await是平均每次io操作的等待时间(包括服务时间),如果两者接近,则io几乎没有等待,如果await远大于svctm,则说明IO队列太长,应用得到响应变慢;
c. 磁盘故障,需要优化磁盘监控,版本优化,支持坏盘自动剔除;
可以考虑更换更快的磁盘;增加磁盘数量,动态新增log.dirs并均衡数据,提高并发度;调整内核elevator算法;优化应用;升级CPU等;
6. 内存负载: kafka使用堆外内存来缓存pagecache,增加发送和消费的性能,大部分内存会被cache掉,内存瓶颈很少遇到;
7. 网卡负载: 目前大部分主流机器都是万兆网卡起步了,网卡瓶颈的案例现网较少遇到,但还是发生过,某些TPS高伴随消息体大的业务,会大大消耗磁盘和网卡的性能,可以网卡发送、接受的buffer情况,通过netstat -an | grep 9092 查看3、4列,如果持续堆积较大,则存在网卡瓶颈,跨机房场景出现网卡瓶颈要多一些,也可以结合netstat -s 和ss -s一起分析丢包情况;
8. 查看进程gc情况,jstat -gcutil pid 1000, 若gc较频繁,考虑增加堆内存大小;
提升:
1. 使用netstat -s 、ss -s分析问题能力
2. kafka socket buffer配置调优
3. 磁盘监控,dmesg分析问题
————————————————
版权声明:本文为CSDN博主「所长是我呦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ggh5201314/article/details/89298523
kafka集群under replicated分析的更多相关文章
- ELK+Kafka集群日志分析系统
ELK+Kafka集群分析系统部署 因为是自己本地写好的word文档复制进来的.格式有些出入还望体谅.如有错误请回复.谢谢! 一. 系统介绍 2 二. 版本说明 3 三. 服务部署 3 1) JDK部 ...
- (一个)kafka-jstorm集群实时日志分析 它 ---------kafka实时日志处理
package com.doctor.logbackextend; import java.util.HashMap; import java.util.List; import java.util. ...
- kafka集群partition分布原理分析
1. Kafka集群partition replication默认自动分配分析 下面以一个Kafka集群中4个Broker举例,创建1个topic包含4个Partition,2 Replication ...
- kafka集群原理介绍
目录 kafka集群原理介绍 (一)基础理论 二.配置文件 三.错误处理 kafka集群原理介绍 @(博客文章)[kafka|大数据] 本系统文章共三篇,分别为 1.kafka集群原理介绍了以下几个方 ...
- Kafka 集群在马蜂窝大数据平台的优化与应用扩展
马蜂窝技术原创文章,更多干货请订阅公众号:mfwtech Kafka 是当下热门的消息队列中间件,它可以实时地处理海量数据,具备高吞吐.低延时等特性及可靠的消息异步传递机制,可以很好地解决不同系统间数 ...
- Kafka集群的安装和使用
Kafka是一种高吞吐量的分布式发布订阅的消息队列系统,原本开发自LinkedIn,用作LinkedIn的活动流(ActivityStream)和运营数据处理管道(Pipeline)的基础.现在它已被 ...
- Kafka【第一篇】Kafka集群搭建
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- Kafka集群部署
一. 关于kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键 ...
- HyperLedger Fabric基于zookeeper和kafka集群配置解析
简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)--Fabric多节点集群 ...
- Kafka相关内容总结(Kafka集群搭建手记)
简介 Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是 ...
随机推荐
- 【数据结构和算法】Trie树简介及应用详解
作者:京东物流 马瑞 1 什么是Trie树 1.1 Trie树的概念 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经 ...
- postgresql添加mysql_fdw测试过程
请先确认已经安装好mysql_fdw,如果没有配置好点这:https://www.cnblogs.com/ohsolong/p/13041989.html 1.切换至postgres用户,输入密码登录 ...
- 12月9日内容总结——静态文件以及配置、form表单属性的作用、request对象、python连接数据库和Django连接数据库、ORM的基础知识介绍
目录 一.静态文件 1.静态文件概念 2.资源访问 3.静态文件资源访问 二.静态文件相关配置 1.接口前缀 2.接口前缀动态匹配 三.form表单 action属性 method属性 四.reque ...
- ChatGPT:让程序开发更轻松
作者:京东科技 赵龙波 "贾维斯,你在吗?" "随时待命,先生." 类似<钢铁侠>里的人工智能助理贾维斯,ChatGPT或许是你的随时待命的助手.C ...
- C#通过OLEDB将DataTable写入Excel文件中
利用OLEDB将DataTable数据写入Excel文件中,如果数据量过多,执行效率很缓慢,大数据量不推荐使用此方法. /// <summary> /// 创建DataTable /// ...
- ECharts 饼图切换数据源bug 开始没数据显示 切换或刷新后显示
1.出现问题原因 一个饼图,右上方两个按钮分别为今天和本月,分别调用不同接口控制,点击则调用不同接口同时饼图绑定数据源刷新:出现此问题原因点击今日按钮有一个饼图区域形没有数据不显示,对应数据值比例都没 ...
- kali linux破解wifi密码-超详细过程
前期准备VMware Workstation虚拟机在虚拟机安装好kail linunx系统无线网卡(芯片为3070或者1887L都支持Linux)一.打开终端,用airmon-ng命令查看如果出现无法 ...
- 安卓逆向 HOOK 第一课 XP的安装以及编写
<meta-data android:name="xposedmodule" android:value="true" /> <meta-da ...
- 叠堆柱状图(带折线版+2y轴)
叠堆柱状图(带折线+2y轴) 代码 var chartDom=document.getElementById("stackBarAddLine"); var myChart=ech ...
- 如何基于IM即时通讯SDK从零开发仿微信聊天交友功能
IM即时通讯技术的发展 IM即时通讯(Instant Messaging)是一种基于互联网的即时交流消息的业务. 实时聊天交互功能是市面上主流APP的重要功能之一,人们所熟悉的就是微信,QQ的聊天消息 ...