一次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,到这我就没法处理了,跟大佬沟通后,有个脚本可以把这些死进程给干掉,释放掉这些占用的内存出来,当前环境只能通过脚本来巡检处理了,不过,新版本已经解决,哎,客户私有场景下,现场环境版本总是落后的,而且客户还不一定想升级,不好搞呀!

相关推荐
李昊哲小课13 小时前
ubuntu26.04搭建kafka集群
分布式·kafka
csdn2015_17 小时前
kafka如何保证消息的顺序
分布式·kafka
csdn2015_20 小时前
kafka如何确保消息不丢失
数据库·分布式·kafka
wuqingshun3141592 天前
说一下 Kafka 中关于事务消息的实现?
分布式·kafka
qiu_lovejun9982 天前
linux安装docker和redis和rabbitmq和nginx和rocketmq和kafka
linux·redis·docker·kafka·rabbitmq·rocketmq
weixin_439930642 天前
Kafka 基础概念整理
kafka
Devin~Y5 天前
电商场景下的Java面试实战:从Spring Boot微服务到Kafka、Redis与AI RAG
java·spring boot·redis·elasticsearch·spring cloud·微服务·kafka
AllData公司负责人5 天前
数据同步平台|AIIData数据中台实现MySQL、Hive、Kafka 一键接入Doris
大数据·数据库·hive·mysql·kafka·实时同步
whaledown7 天前
互联网大厂Java求职面试三轮提问详解(涵盖Spring Boot、微服务、Kafka等核心技术)
java·jvm·数据库·spring boot·微服务·面试·kafka
梦想的颜色7 天前
【Docker部署插件】:使用 Docker 部署生产级 Kafka 完整版教程
安全·docker·中间件·kafka·消息队列·docker-compose·后端开发