一、解決遠程不能消費問題html
問題描述:java
nameserver和broker啓動後,用tools(命令以下)能發送消息和消費消息,在局域網服務器能發送消息,消費啓動後收不到消息通知問題apache
sh tools.sh org.apache.rocketmq.example.quickstart.Producer sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
經過查看broker日誌嗎,錯誤以下:服務器
rocketmq getConsumerGroupInfo failed
該問題是防火牆問題:網絡
防火牆須要開放端口:987六、1090九、109十、10911async
二、多IP服務器,broker自動識別到內網IP問題。ui
查看已註冊的broker: this
sh mqadmin clusterList -n 172.31.9.8:9876
#Cluster Name #Broker Name #BID #Addr #Version #InTPS(LOAD) #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE pandasai ai_broker 0 12.1.9.8:10911 V4_3_0 0.00(0,0ms) 0.00(0,0ms) 0 429368.84 0.5889
其中的#Addr(12.1.9.8:10911),須要消費者端可以正常訪問,即問題1。spa
若12.1.9.8爲內網IP,須要改成外網ip,修改conf/broker.conf.net
brokerClusterName = pandasai brokerName = ai_broker brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH #增長如下兩項配置 namesrvAddr=182.8.8.8:9876 brokerIP1=182.8.8.8
注意參數:brokerIP1,另外,能夠保存當前的broker配置查看 :sh mqbroker -m >../conf/me-2m-2s-async/broker.p
啓動broker指定配置文件:nohup sh mqbroker -n 127.0.0.1:9876 autoCreateTopicEnable=true -c /usr/local/rocketmq-all-4.3.0-bin-release/conf/broker.conf &
三、解決MQClientException: No route info of this topic, TopicTest
①Broker禁止自動建立Topic,且用戶沒有經過手工方式建立Topic
解決:首先解決①這種狀況,啓動順序要先啓動nameserver,再啓動broker,啓動broker時加上autoCreateTopicEnable=true
②Broker沒有正確鏈接到Name Server
解決:在bin目錄下執行命令sh mqadmin clusterList -n localhost:9876 若是看到
③Producer沒有正確鏈接到Name Server 注意:這個錯誤把網絡錯誤異常吞了
解決:在消息生產端,ping或Telnet name server的ip和端口號,
四、安裝console
參考:https://blog.csdn.net/www_wangzheguilai/article/details/76571868
五、安裝
參考:
https://www.cnblogs.com/subendong/p/10082202.html