elk生产问题之kafka问题记录

 

今天经同事反馈,日志云有日志缺失,于是从源头开始查

1、首先查看原始日志,发现原始日志正常在刷

2、查看filebeat日志,发现连接kafka异常

3、登录kafka manager页面查看,发现确实有个6个broker掉了两个

4、猜测是full gc ,查看kafka日志后发现确实如此

cat  kafkaServer-gc.log.4.current|grep -E 2021-03-03T|grep "Full GC"|tail -10

5、先把问题解决、重启kafka节点,但是在时报错Attempt to append an offset (110756715) to position 40111 no larger than the last offset appended (110756715)

这个问题是因为不同kafka节点数据不一致造成的,手动清空报错的目录,然后再次重启

问题暂时解决!

 

后续:查看kafka的查看启动配置文件,发现堆内存配置为32G,这个值超过了推荐的最大值31G,会导致指针压缩失效的问题,初步猜测full gc与此相关,经讨论后将堆内存改为26G,设想是增加年轻代的回收频率

export KAFKA_HEAP_OPTS = "-Xmx26G -Xms26g"

暂时未出现Full GC ,同时为了以后第一时间响应,添加了Full GC的关键字告警,但是我总有隐隐的担忧,原因是所有机器其实都是32G的配置,为什么只有这台告警,因为还有其他事要忙,就先搁置了

过了一个星期,果然又出现了Full GC关键字告警,这次我们决定一定要把根因找出来,和开发讨论,开发建议把堆内存转储文件导出来,通过jmap命令

jmap -dump:format=b,file=/applog/kafka-gc-20210303.log 38274

文件大小达到13个G!查看这个文件也是一波三折,期间想通过sz命令下载到本机,但是限速200k/s,后面又想用jhat在服务器上看,结果cpu内存直接飙升,怕引起生产告警,马上kill了,最后通过临时的python web服务>压缩>ftp,才导出来

导出来后,想通过visualvm打开,结果软件又卡死了,最后是通过eclipse出品的mat工具分析,输出了分析报告

将报告发给厂商支持人员分析,后续待补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值