1.MQClientException: No route info of this topic, TopicTest1
在用戶端的 Producer 運作起來準備發送消息時抛異常如下“ No route info of this topic ” ,原因是因為Producer 沒有正确連接配接到 Name Server
自己沒有在防護牆中開啟此Broker 端口,是以導緻用戶端 Producer 無論如何也連接配接不上.
[[email protected] apache-rocketmq]# firewall-cmd --zone=public --list-ports
8090/tcp 80/tcp 8080/tcp
[[email protected] apache-rocketmq]# firewall-cmd --zone=public --add-port=9876/tcp --permanent
success
[[email protected] apache-rocketmq]# firewall-cmd --reload
success
[[email protected] apache-rocketmq]# firewall-cmd --zone=public --list-ports
9876/tcp 8090/tcp 80/tcp 8080/tcp
[[email protected] apache-rocketmq]#
指令分别含義是:
- 檢視防護牆開放的端口,此時沒有 9876
- 設定防火牆開放9876 端口
- 重新加載 firewall,修改配置後,必須重新加載才能生效:firewall-cmd --reload
- 再次檢視防火牆開放的端口,此時已有 9876
2.RemotingTooMuchRequestException: sendDefaultImpl call timeout
在用戶端的 Producer 運作起來準備發送消息時抛出來的異常
因為使用的是VMware虛拟機,設定記憶體也隻有1G,是以從 Windows 上開發連接配接 虛拟機中的 nameServer 時要經過 Linux 系統的防火牆,而防火牆一般都會有逾時的機制,在網絡連接配接長時間不傳輸資料時,會關閉這個 TCP 的會話,關閉後再讀寫,就有可能導緻這個異常。
因為目前是自己學習,是以直接關閉了 Linux 的防火牆
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 日 2018-08-12 00:19:39 CST; 2s ago
Process: 877 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 877 (code=exited, status=0/SUCCESS)
8月 11 23:20:50 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall.....
8月 11 23:20:53 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall ...n.
8月 12 00:19:38 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall.....
8月 12 00:19:39 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall ...n.
Hint: Some lines were ellipsized, use -l to show in full.
[[email protected] ~]#
3
在阿裡雲上部署節點,使用console控制台去連接配接節點時,總是去連接配接阿裡雲的内網ip:10911

這是由于線上環境有多個網卡,預設情況下MQ很可能走的是内網的IP(因内網網卡排在外網網卡前面)是以要在RocketMQ的配置檔案中把阿裡雲的公網IP加上:
4
當啟動節點後檢視節點狀态出現下面情況時
我們應該去檢視日志檔案定位錯誤原因:zookeeper.out