最近研究了下Rocketmq消息中間件,在Win10上部署時遇到一些問題,做個記錄
部署的是Rocketmq 4.92版本,對應使用的控制臺用的1.0版本 下載地址
1.優化內存占用
修改 runserver.cmd
修改前
set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改后
set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改 runbroker.cmd
修改前
set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g"
修改后
set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx256m"
2.使用命令行啟動
可以通過新建命令行的方式啟動nameserver,broker和dashboard,這樣就可以把啟動環境放到一起了
啟動nameserver
D:\Library\rocketmq-4.9.2\bin\mqnamesrv.cmd
啟動broker的時候,可以設置連接的nameserver以及通過設置配置文件修改broker的名字
D:\Library\rocketmq-4.9.2\bin\mqbroker.cmd -c D:\Library\rocketmq-4.9.2\conf\broker.conf -n localhost:9876
啟動dashboard,老版本的rocketmq最好使用低版本的dashboard,老版本需要java1.8啟動,默認的端口號是8080,可以通過設置端口為58080來放置端口沖突
"D:\Library\Java\jdk-1.8\bin\java" -jar rocketmq-dashboard-1.0.0.jar --server.port=58080
3.dashboard啟動后報java.lang.NullPointerException錯誤
通過在運維界面配置NameServer的地址可以解決
4.通過主題發消息遇到下面的報錯
org.apache.rocketmq.client.exception.MQClientException: Send [3] times, still failed, cost [33]ms, Topic: Asset, BrokersSent: [broker-a, broker-a, broker-a] See http://rocketmq.apache.org/docs/faq/ for further details.
我的問題是由于C盤快滿了導致了,騰出空間后問題解決
5.使用RocketMQ Assistant報351問題
使用RocketMQ Assistant連接mq報如下錯誤
org.apache.rocketmq.client.exception.MQBrokerException: CODE: 3 DESC: request type 351 not supported
For more information, please visit the url, https://rocketmq.apache.org/docs/bestPractice/06FAQ
應該是RocketMQ Assistant只支持5.x,如果連接4.x版本就會報這個錯,具體參考這個案例
dashboard各版本下載地址