Kafka Unexpected exception异常解决

描述:数据刚入队列,一切正常,过一段时间以后,再去消费,就报此异常


分析:kafka数据同步异常


关闭服务:./bin/kafka-server-stop.sh
启动服务: nohup bin/kafka-server-start.sh config/server.properties > kafka.log &


1 其中一台服务无法启动 报错:Corrupt index found 有索引损坏


因为数据不大,进入数据目录,删除索引 
find  .  -name  '*.index'  -type  f  -print  -exec  rm  -rf  {} \;


参考:
https://blog.csdn.net/jsky_studio/article/details/42012561


2 再次启动,报NotLeaderForPartitionException 异常
搜索配置发现少了一些配置 
advertised.port=9092
zookeeper.session.timeout.ms=1000000


参考:
https://blog.csdn.net/jiecxy/article/details/53369173


3 重启服务,新建topic没有出现Unexpected exception,老的topic还是有这个问题


只能增加配置
delete.topic.enable=true

重启服务,删除旧的topic


----------------------------------------------------------------------------------

一切配置完成,都没有问题,刚开始,数据正常,测了两天,一般都是数据刚入队列时候正常,过一段时间,队列无法消费,最明显的表现是过了一晚,队列必然失效,修改配置,问题还是没有解决,突然一天,查看kafka的输出日志的时候发现,服务器上的日志会被定期清空!

再看看kafka的文件存储机制:https://www.cnblogs.com/jun1019/p/6256514.html

数据会以.log的形式存储,落地数据定期被强势清空,不报错才怪!泪奔.

借此,也解决了我一个困惑,以前配置的kafka落地的数据和服务器的日志总是会被输入同一目录,还以为正常,借此才知道,是因为我的服务器数据存储目录和log4j的日志目录配成一样的了造成的.


你可能感兴趣的:(Kafka)