Kafka客户端-“远程主机强迫关闭了一个现有的连接”故障排查及解决
1. 故障现象
Kafka客户端发送数据时,出现“远程主机强迫关闭了一个现有的连接”错误,导致数据发送失败。错误信息如下:
2. 故障排查
【1】. 查看服务网络状态
出现故障后,查看 9092
端口监听状态,发现已经没有服务监听该端口,说明Kafka
服务已经退出。
重启Kafka
服务,然后查看网络状态;等kafka
出错时,再查看网络状态,其结果如下:
通过上述步骤排查,发现Kafka
服务启动后9092
端口处于监听状态,Kafka
服务是正常的;当客户端向Kafka
发送数据后9092
端口已经关闭,不在监听,说明Kafka
服务已经退出。
【2】. 查看Kafka服务端日志
查看kafka
服务端日志,在kafka
主目录logs
文件夹下。
先清空logs
文件夹,重启kafka
服务端,重现故障,然后再分析日志。
3. 故障定位
通过分析logs
目录下的 controller.log
、server.log
、log-cleaner.log
等日志文件,最终定位问题到server.log
文件中,其故障日志如下:
4. 故障排除
删除 D:\tmp
目录,重启 kafka
后,问题得到解决。