一、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