前提:部署rocketmq依賴JDK(1.8+)和MAVEN(3.2.X)
環境:CentOS7,內存4G
1. 下載最新的rocketmq源碼文件
下載地址:http://mirrors.hust.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip
1. 下載壓縮包
2. 解壓縮
3. mvn安裝
shell> wget http://mirrors.hust.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip shell> unzip rocketmq-all-4.2.0-source-release.zip shell> cd rocketmq-all-4.2.0/ shell> mvn -Prelease-all -DskipTests clean install -U shell> cd distribution/target/apache-rocketmq
2. 啟動Name Server
> nohup sh bin/mqnamesrv & > tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success......
3. 啟動Broker
> nohup sh bin/mqbroker -n localhost:9876 & > tail -f ~/logs/rocketmqlogs/broker.log The broker[%s, 172.30.30.233:10911] boot success...
TIP. 跳坑部分
1. 無法啟動NameServer
[wangyanrui@bogon apache-rocketmq]$ sh bin/mqnamesrv Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 4294967296, 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 4294967296 bytes for committing reserved memory. # An error report file with more information is saved as: # /home/wangyanrui/rocketmq-all-4.2.0/distribution/target/apache-rocketmq/hs_err_pid2081.log
提示無法分配內存(前面說了,CentOS目前的內存為4G,也開了一些其他的服務)
解決辦法:
修改bin目錄下的runserver.sh,根據本機的內存,修改如下部分即可
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
2. 無法啟動Broker
提示部分如上
解決辦法:
修改bin目錄下的runbroker.sh,根據本機內存,修改如下部分即可
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"