一次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+spring cloud stream 发送接收消息
spring cloud·kafka·java-zookeeper
xiao-xiang2 天前
kafka-保姆级配置说明(producer)
分布式·kafka
被程序耽误的胡先生2 天前
java中 kafka简单应用
java·开发语言·kafka
2501_903238652 天前
深入理解 Kafka 主题分区机制
分布式·kafka·个人开发
ezreal_pan2 天前
kafka消费能力压测:使用官方工具
分布式·kafka
xiao-xiang2 天前
kafka-集群缩容
分布式·kafka
比花花解语2 天前
Kafka在Windows系统使用delete命令删除Topic时出现的问题
windows·分布式·kafka
解决方案工程师2 天前
【Kafka】Kafka高性能解读
分布式·kafka
yellowatumn2 天前
RocketMq\Kafka如何保障消息不丢失?
分布式·kafka·rocketmq
HeartRaindj2 天前
【中间件开发】kafka使用场景与设计原理
分布式·中间件·kafka