rocketmq应用服务报错处理方案INFO RocketmqRemoting - closeChannel: close the connection to remote address[]

问题:

应用服务日志中发现一直报错,不停的打日志:[NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[] result: true

解决思路及步骤:

1、首先确认RocketMQ状态是否正常

可以使用RocketMQ提供的测试类测试一下,如果发送消息和消费消息正常,则排除RocketMQ运行状态问题。
(1)进入bin目录,编辑vim tools.sh
在export JAVA_HOME上面添加如下这段代码 ,换成自己的ip

 export NAMESRV_ADDR=127.0.0.1:9876

(2)发送测试消息,成功会打印1000条TopicTest生成流水日志

./tools.sh org.apache.rocketmq.example.quickstart.Producer

(3)消费测试消息,成功会打印1000条TopicTest消费流水日志

./tools.sh org.apache.rocketmq.example.quickstart.Consumer

如果生成和消费都没问题,那么就排查RocketMQ状态问题,如果不放心可以用 rocketmq-console-ng可视化页面查看刚刚1000条测试消息
rocketmq应用服务报错处理方案INFO RocketmqRemoting - closeChannel: close the connection to remote address[]_第1张图片

2、网络通信问题

rocketmq应用服务报错处理方案INFO RocketmqRemoting - closeChannel: close the connection to remote address[]_第2张图片
RocketMQ配置完成启动rmqbroker后发现IP为docker内部IP而非宿主机IP,更改配置文件:
1、RocketMQ配置文件broker.conf中添加主机IP的配置

     brokerIP1=192.XXX.XXX.XXX

2、删除原容器,重新启动新的rmqbroker,IP变为宿主机IP,问题解决
rocketmq应用服务报错处理方案INFO RocketmqRemoting - closeChannel: close the connection to remote address[]_第3张图片

3、特殊的情况(超级坑)

如果出现:org.apache.rocketmq.remoting.exception.RemotingSendRequestException: send request to <127.0.0.1:9876> failed

我们排查了一下午,结果在某个博客看到有人说可能是org.apache.rocketmq:rocketmq-spring-boot-starter和fastjson版本冲突问题,结果真的是
原文https://www.cnblogs.com/wei2cai/p/16814345.html

然后把fastjson版本升级到了2.0.19就可以了

参考:https://www.freesion.com/article/2834981885/

你可能感兴趣的:(java开发,java-rocketmq,rocketmq,java)