安裝前提條件(推薦) 64bit OS, Linux/Unix/Mac (Windows不兼容)64bit JDK 1.8+;
快速開始
http://rocketmq.apache.org/docs/quick-start/
下載安裝包
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.9.4/rocketmq-all-4.9.4-source-release.zip
解壓安裝包
unzip rocketmq-all-4.9.4-source-release.zip
進入目錄
cd rocketmq-all-4.9.4-source-release/
構建環境
mvn -Prelease-all -DskipTests clean install -U
最終路徑
cd distribution/target/rocketmq-4.9.4/rocketmq-4.9.4
最新版本部署存在問題
Please set the JAVA_HOME variable in your environment, We need java(x64)
解決:本地需要配置 JAVA_HOME 使用命令 vim ~/.bash_profile
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home"
export JAVA_HOME
CLASS_PATH="$JAVA_HOME/lib"
PATH=".$PATH:$JAVA_HOME/bin"
使用 source /etc/profile 讓配置立刻生效
啟動nameServer
nohup sh bin/mqnamesrv &
查看日志
tail -f nohup.out
(結尾:The Name Server boot success. serializeType=JSON 表示啟動成功)
啟動broker
(-n指定nameserver地址,nameserver服務端口為9876, broker默認端口 10911)
nohup sh bin/mqbroker -n localhost:9876 &
驗證是否成功
- 設置名稱服務地址
export NAMESRV_ADDR=localhost:9876
- 投遞消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
- 消費消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
關閉服務器
關閉broker
sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK
關閉 namesrv
sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK
問題
Liunx 解壓安裝
yum install unzip
NameServer內存不足
報錯問題如下
[root@iZwz94sw188z3yfl7lpmmsZ apache-rocketmq]# sh bin/mqnamesrv
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006ec800000, 2147483648, 0) failed; error='Cannot allocate memory' (errno=12)
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 2147483648 bytes for committing reserved memory.
An error report file with more information is saved as:
/usr/local/software/rocketmq-all-4.4.0/distribution/target/apache-rocketmq/hs_err_pid8993.log
解決
bin/runserver.sh
修改內存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
Broker內存不足
runbroker.sh
修改內存
JAVA_OPT="${JAVA_OPT} -server -Xms528m -Xmx528m -Xmn256m"

浙公網安備 33010602011771號