前提:部署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"