zk版本:3.4.9
kafka版本:0.10.1.1
集群节点数:6 * 32core,256G
java版本,jdk 1.8.0 64bit
背景:6月15日晚9点网络割接,会造成不同网段之前网络断联3min,因此触发了0.10.1.1版本的一个bug,与zk通信版本不同步,zk会报bad version 的问题,9点15分和kakfa 共用的zk的容器集群开始不正常,同时kafka下游消费者反映消费不到数据,因此决定重启zk集群,重启zk集群之后,容器节点恢复正常,但是kafka下游依旧消费不到数据,因此决定重启kafka集群,重启kafka失败,报错
ERROR There was an error in one of the threads during logs loading: java.io.IOException: Map failed (kafka.log.LogManager)
FATAL [Kafka Server 0], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.io.IOException: Map failed
解决过程:通过查询相关资料,网上最多的有两种解决办法:
1.将jvm从32bit升级到64bit,但是我们目前就是64bit,故无法复用
2.增加主机sysctl -w vm.max_map_count=132144参数,原始参数65535,修改后启动kakfa,依然无法启动
后续自己尝试增加jvm启动heap_size,原始8G,依次增加到32G,依然启动失败,报错还是之前的错误。
联想到故障重启,是需要依赖恢复文件进程相关设置,故想尝试一下修改num.recovery.threads.per.data.dir(原值为12),因为报的oom于是尝试减小恢复线程为10,启动失败,直接修改为2,启动成功。
kafka重启异常报map failed的解决办法
最新推荐文章于 2025-03-24 11:16:07 发布