Apache RocketMQ是一個分佈式、隊列模型的消息中間件,具備低延遲、高性能和高可靠、萬億級容量和靈活的可擴展性。核心組件由四部分組成:Name Servers,Brokers,Producer 和 Consumer;它們中的每個均可以水平擴展,而沒有單一的故障節點。java
直接找最新版下載後解壓 rocketmq.apache.org/release_not… git
修改 conf/broker.conf
添加如下配置 github
brokerIP1:配置broker所在服務器的ip地址,以便Name Server鏈接apache
修改 runserver.sh
和 runbroker.sh
(可不改) 由於rocketMQ默認的啓動參數內存佔用很是大,若是環境沒有這麼多內存就必需修改JAVA_OPT
參數安全
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
複製代碼
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
複製代碼
nohup sh bin/mqnamesrv &
複製代碼
查看運行日誌:tail -f ~/logs/rocketmqlogs/namesrv.logbash
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &
複製代碼
經過-c參數指定配置文件 查看運行日誌:tail -f ~/logs/rocketmqlogs/broker.log服務器
若是須要中止RocketMQ的服務,在生產環境不建議直接用kill,應該使用如下命令maven
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
複製代碼
mvn clean package -Dmaven.test.skip=true
複製代碼
nohup java -jar \
-Drocketmq.config.namesrvAddr=192.168.28.130:9876 \
-Drocketmq.config.isVIPChannel=false \
rocketmq-console-ng-1.0.0.jar &
複製代碼
在客戶端的 Producer
運行起來準備發送消息時拋異常爲 「 No route info of this topic 」 異常產生的緣由多是:tcp
Broker
禁止自動建立 Topic
,且用戶沒有經過手工方式建立 TopicBroker
沒有正確鏈接到 Name Server
Producer
沒有正確鏈接到 Name Server
Broker
禁止自動建立 Topic
,且用戶沒有經過手工方式建立 Topic
autoCreateTopicEnable=true
證實是沒有問題的
Broker
沒有正確鏈接到 Name Server
經過查看broker的日誌 tail -f ~/logs/rocketmqlogs/broker.log
看看有沒有錯誤信息
Producer
沒有正確鏈接到 Name Server
Name Server
的地址有沒有錯9876
端口有沒有開發9876
端口 bash [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --list-ports 8090/tcp 80/tcp 8080/tcp [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --add-port=9876/tcp --permanent success [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --reload success [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --list-ports 9876/tcp 8090/tcp 80/tcp 8080/tcp
Producer
運行起來準備發送消息時拋異常以下Name Server
鏈接不上Broker
檢查 rocketmq-console
的集羣頁籤,broker
的地址是否正確 分佈式
broker
地址的配置方式請參考
安裝部署
中提到的步驟:
broker.conf
的配置,添加 brokerIP1
參數broker
時加上 -c
參數指定配置文件
死信隊列默認的 perm
值爲2沒有查看權限
在控制檯把隊列的 perm
改成6就能夠了 **主題點擊 TOPIC配置
**
推薦閱讀
掃碼關注有驚喜!