一、RocketMQ外网访问配置(比如阿里云服务器,分内网ip和外网外IP)
经过排查,最终发现是因为,java客户端连接rocketmq时,rocketmq返回的Ip地址是阿里云服务器的内网地址(内网地址肯定访问不了,可惜当时没有截图留证),正确的应该是返回服务器的外网地址,解决办法如下:
在conf文件夹下修改broker.conf
添加
namesrvAddr = xx.xx.xx.xx:9876;xx.xx.xx.xx:9876 (多个地址以;分隔)
brokerIP1 = xx.xx.xx.xx
上面IP写的就是外网IP
1、启动namesrv
nohup ./mqnamesrv >/home/hadoop/rocketmq-4.2.0/log/namesrv.log &
2、启动broker
nohup sh ./mqbroker -n xx.xx.xx.xx:9876 autoCreateTopicEnable=true -c /home/hadoop/rocketmq-4.2.0/conf/broker.conf & >>/home/hadoop/rocketmq-4.2.0/log/broker.log