启动mq 在虚拟机中_记在使用rocketmq client客户端过程中踩到的坑
前言
最近項(xiàng)目中使用阿里的RocketMQ來做消息隊(duì)列,具體怎么使用RocketMQ不在本文討論范圍之內(nèi),其相關(guān)幫助文檔可以參考如下鏈接
本文主要記錄在使用rocketmq client時(shí),遇到的一些坑,作者采用的客戶端版本是4.5.0
踩到的坑
No route info of this topic
遇到這種情況的原因可能有
1、Broker禁止自動(dòng)創(chuàng)建Topic,且用戶沒有通過手工方式創(chuàng)建Topic
解決方案
在啟動(dòng)broker時(shí)加上autoCreateTopicEnable=true,如果是用broker.conf啟動(dòng),或者集群使用broker-*啟動(dòng),形如:
1nohup sh /oa/other/rocketmq/bin/mqbroker -c /oa/other/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
broker-a.properties配置文件中加入
1autoCreateTopicEnable=true
2、Broker沒有正確連接到Name Server
解決方案
查看broker.log日志信息
3、Producer沒有正確連接到Name Server
解決方案
切換到rocketmq的bin目錄,執(zhí)行
1sh mqadmin clusterList -n 安裝rocketmqip地址:9876
如果出現(xiàn)
1
2#Cluster Name #Broker Name #BID #Addr #Version #InTPS(LOAD) #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
DefaultCluster broker-a 0 ip:10911 V4_5_0_SNAPSHOT 0.00(0,0ms) 0.00(0,0ms) 0 4 29243.32 0.2995
說明正常連接
4、防火墻原因
解決方案
關(guān)閉防火墻(生產(chǎn)環(huán)境不建議),開放rocketmq的相應(yīng)端口,或者加入相應(yīng)的可以訪問rocketmq的ip
5、topic的長度過長
這個(gè)有待驗(yàn)證
connect to ip:10909 failed
產(chǎn)生原因:
rocketmq默認(rèn)開啟了vip通道
解決方案:
在客戶端代碼層面加入
1
2producer.setVipChannelEnabled(false);
consumer.setVipChannelEnabled(false);
Send [3] times, still failed, cost [575]ms, Topic: Name, BrokersSent: [broker-a, broker-a, null]1
22021-01-06 12:11:49.531 [ok-cloud-payment-channel][ ERROR] [3550] [nio-8850-exec-5] [5dc31eff8580fe06] [3edd0a589ccc2355] [true] --- [ok.cloud.payment.channel.helper.MQHelper] [sendPaymentCallbackMQ] [106] : MQ send exception Send [3] times, still failed, cost [11]ms, Topic: Topic_Channel_Callback, BrokersSent: [TEST-V101, TEST-V102, TEST-V103]
See http://rocketmq.apache.org/docs/faq/ for further details.
1、如果出現(xiàn)開始發(fā)送消息成功,消費(fèi)者接收消息后,再發(fā)送消息的話,出現(xiàn)上訴異常,則有很大概率是機(jī)器磁盤空間不足
解決方案:
(1)df -lh查看磁盤空間大小
(2)top查看%MEM%占用前五的進(jìn)程
(3)按需刪除沒用的磁盤空間
2、檢查網(wǎng)絡(luò)是否暢通
3、如果是使用虛擬機(jī),可能虛擬機(jī)中的網(wǎng)絡(luò)太多,rocketMQ在自動(dòng)識(shí)別網(wǎng)絡(luò)的時(shí)候識(shí)別錯(cuò)誤
解決方案:
可以把其他網(wǎng)絡(luò)down掉,或者把想用的那個(gè)網(wǎng)讓它排在前面
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的启动mq 在虚拟机中_记在使用rocketmq client客户端过程中踩到的坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杭州公积金离职了,怎么取出来 有以下两种
- 下一篇: 如何在Ubuntu 18.04上安装Py