解决:org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
?
原因1:啟動 broker?方式不對。
我完全是按照官方文檔操作的,在網上看到說這一步是錯誤的啟動?broker?方式!
nohup sh bin/mqbroker -n localhost:9876 &改為:
nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &?
原因2:未關閉防火墻。
原因2 轉自:https://blog.csdn.net/chenaima1314/article/details/79403113
rocketmq運行時提示 No route info of this topic 異常產生的原因可能是
①Broker禁止自動創建Topic,且用戶沒有通過手工方式創建Topic
②Broker沒有正確連接到Name Server
③Producer沒有正確連接到Name Server?
首先解決①這種情況,啟動順序要先啟動nameserver,再啟動broker,啟動broker時加上autoCreateTopicEnable=true?
例如 nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &
啟動沒有異常檢查下nameserver中是否成功注冊了broker,有兩種方式?
第一種、看broker的日志 如果出現形如
2018-02-28 16:21:35 INFO BrokerControllerScheduledThread1 - register broker to name server 192.168.192.129:9876 OK
2018-02-28 16:22:05 INFO BrokerControllerScheduledThread1 - register broker to name server 192.168.192.129:9876 OK
證明已經連接到nameserver上
第二種、 在bin目錄下執行命令sh mqadmin clusterList -n localhost:9876 如果看到
#Cluster Name ? ? #Broker Name ? ? ? ? ? ?#BID ?#Addr ? ? ? ? ? ? ? ? ?#Version ? ? ? ? ? ? ? ?#InTPS(LOAD) ? ? ? #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
DefaultCluster ? ?DEFAULT_BROKER ? ? ? ? ?0 ? ? 192.168.192.129:10911 ?V4_2_0_SNAPSHOT ? ? ? ? ?0.00(0,0ms) ? ? ? ? 0.00(0,0ms) ? ? ? ? ?0 422168.55 -1.0000
也是證明已經連接到nameserver上。
如果按前兩步檢查沒有問題,但啟動還是報錯,那么剩下的可能原因是producer無法連接到nameserver,很可能是防火墻的原因 ,要檢驗猜測只需要關閉防火墻,命令為systemctl stop firewalld.service
然后再次驗證,應該已經可以使用了。
?原因3.? 少 jar 包:fastjson-1.2.29.jar??。
這是網上看到的,我的情況并不少這個jar 。
原因4. mqnameserver 或者 mqbroker 沒有啟動成功。
我的情況是 :會報錯內存不夠。
報錯為:
# There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 805306368 bytes for committing reserved memory.要在 /distribution/target/apache-rocketmq/bin 下的2個腳本中設置內存占用大小。
vim bin/runserver.sh (調整nameserver啟動的內存,不調整此文件,可能導致無法啟動。)JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" vim bin/runbroker.sh? ? ?JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的解决:org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前后端分离工程实现 (VUE、JAVA)
- 下一篇: 线程的局部变量ThreadLocal概念