rocketmq 4.3.2 解決遠程不能消費問題,解決未識別到公網IP問題


1、解決遠程不能消費問題

問題描述:

nameserver和broker啟動后,用tools(命令如下)能發送消息和消費消息,在局域網服務器能發送消息,消費啟動后收不到消息通知問題

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

通過查看broker日志嗎,錯誤如下:

rocketmq getConsumerGroupInfo failed

該問題是防火牆問題:

防火牆需要開放端口:9876、10909、10910、10911

2、多IP服務器,broker自動識別到內網IP問題。

 查看已注冊的broker: 

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。

若12.1.9.8為內網IP,需要改為外網ip,修改conf/broker.conf

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 &

 3、解決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和端口號,

4、安裝console

參考:https://blog.csdn.net/www_wangzheguilai/article/details/76571868

 

5、安裝

參考:

https://www.cnblogs.com/subendong/p/10082202.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM