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

相关推荐
Wang's Blog12 小时前
Kafka: 消费者高级实践之分区控制、多线程处理与 Offset 管理
分布式·kafka
Lisonseekpan15 小时前
Kafka、ActiveMQ、RabbitMQ、RocketMQ对比
java·后端·kafka·rabbitmq·rocketmq·activemq
Wang's Blog16 小时前
Kafka: 分布式配置动态更新之微服务总线实现
分布式·微服务·kafka
我认不到你16 小时前
动态线程池+kafka自定义拒绝策略,做到任务不丢失
java·spring boot·spring cloud·kafka
yumgpkpm16 小时前
Hadoop如何用Flink支持实时数据分析需求
大数据·hadoop·分布式·hdfs·flink·kafka·cloudera
川212 天前
Kafka消息中间件(超大数据吞吐量)使用
分布式·kafka
Wang's Blog2 天前
Kafka: 基于 NestJS 的问卷系统配置与业务实现
分布式·kafka
太阳伞下的阿呆2 天前
kafka高吞吐持久化方案(2)
分布式·kafka·高并发·重入锁
Chasing__Dreams3 天前
kafka--基础知识点--19--消息重复
分布式·kafka
import_random4 天前
[kafka]伪集群搭建,各个节点配置文件中listeners参数的配置
kafka