RocketmqRemoting - closeChannel: close the connection to remote address[] result: true

问题:

在这里插入图片描述

原因分析(所有的都解决掉基本不会再有问题):

1,首先确认nameserver和broker都是健康状态,可以通过官方文档的工具命令测试

1,生产消息

export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

在这里插入图片描述
2,接受消息

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

在这里插入图片描述

2,如果上面没问题,看一下防火墙是否打开,自己的端口号是否开放。

1,rocketmq要开放四个端口:9876,10911,10909,10912
至于这几个端口的说明,可以参考:
rocketmq端口说明

2,linux查看端口是否开放命令参考:

查看端口开放情况命令

阿里云可以用控制台查看安全组的开放端口状态:

在这里插入图片描述

3,看一下rocketmq的broker注册到nameserver的ip地址是否是内网,如果是内网,项目无法链接内网也会链接不上。

如果没有工作台,可以进入rocketmq安装目录bin中通过roketmq命令查看brokerip注册到nameservier的ip情况

./mqadmin clusterList -n {nameserverip}:9876

在这里插入图片描述

在这里插入图片描述

如果是内网,指定注册broker外网解决方案:

1,进入rocketmq根目录

cd /data/tools/rocketmq-all-4.9.0-bin-release

2,编写配置文件,并写好配置

echo “brokerIP1=10.2.x.x” > broker.properties

3,启动 mqnamesrv

nohup sh bin/mqnamesrv &

4,重点:mrbroker 启动时通过 -c 加载配置文件

nohup sh bin/mqbroker -n {nameserverip}:9876 -c /data/tools/rocketmq-all-4.9.0-bin-release/broker.properties &

5,查看结果,通过命令或者控制台查看,此时注册的broker就是外网ip
在这里插入图片描述

4,如果以上都没问题,可能是链接超时:

可以加个配置发送消息超时的代码,时间加长一点
在这里插入图片描述

以上是在安装rocketmq后启动项目遇到的问题,基本也就这些,欢迎联系我补充,如有帮助,点个赞吧~~~
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐