一次Kafka启动失败引出的问题

背景

Some time,有个现场童鞋说咱的Kafka实例有个broker一直crash,还截图给我看了,大致是Kafka启动加载topic分区日志文件的时候,然后就没了,连个WARN都没有。当然,光看这个截图咱啥都不知道,因此只能搞个会议一起看看,这里说一下,公司内部聊天软件太菜了,所以就用腾讯会议,嗯,挺好的,反正是免费的。

干活

好,跟现场童鞋搞起来。嗯,Kafka启动日志既然看不了啥,那只能看下pod状态,哦豁,OOMKILLED,nice,找到原因了,嗯,但是,使用kubectl describe node xxxx 查看,这个node还剩一半呀,咋回事呢?

  • Kafka pod是OOMKILLED
  • kubectl describe nodes xxxx 查看,cpu/内存是足够的

那么是不是Node资源不够呢?free -m 一看,好家伙,256G只剩1个G了,而Kafka pod配置的request是4Gi,那么启动的时候当然会被内核给干死了,没内存了。到这一步了,基本上就不干Kafka的事情了,不过,都查看现在了,这会儿就继续查看哪个大哥占用了。

top -b -n 1 | head -n 12 | tail -n 10 查看前10占用内存最大的进程,嗯,发现是个死进程,是容器的死进程,但是这个容器所在的pod都已经删除了,跟k8s大佬一沟通,好吧,是个开源bug,到这我就没法处理了,跟大佬沟通后,有个脚本可以把这些死进程给干掉,释放掉这些占用的内存出来,当前环境只能通过脚本来巡检处理了,不过,新版本已经解决,哎,客户私有场景下,现场环境版本总是落后的,而且客户还不一定想升级,不好搞呀!

相关推荐
老友@1 小时前
Kafka 全面解析
服务器·分布式·后端·kafka
半间烟雨5 小时前
⼆、Kafka客户端消息流转流程
分布式·kafka
FLGB11 小时前
Kafka延迟队列实现分级重试
分布式·kafka
java1234_小锋21 小时前
Kafka中的消息是如何存储的?
分布式·kafka
老友@21 小时前
Kafka 深度解析:高性能设计、部署模式、容灾机制与 KRaft 新模式
分布式·kafka·kraft·高性能·容灾机制
余子桃21 小时前
Kafka的安装与使用(windows下python使用等)
分布式·kafka
java1234_小锋1 天前
Kafka中的消息如何分配给不同的消费者?
分布式·kafka
小样vvv1 天前
【Kafka】深入探讨 Kafka 如何保证一致性
分布式·kafka
小样vvv1 天前
【Kafka】消费者幂等性保障全解析
kafka
丑过三八线2 天前
【Kafka】Kafka4.0在windows上启动
windows·分布式·kafka