1.系统环境
2台centos7.6虚拟机。
2.下载rocketmq源码、编译
wget https://codeload.github.com/apache/rocketmq/tar.gz/rocketmq-all-4.2.0
#编译命令
mvn -Prelease-all -DskipTests clean install -U
#得到最终的zip包
rocketmq-rocketmq-all-4.2.0/distribution/target/apache-rocketmq.tar.gz
3.设置机器环境。(准备部署2台master节点,没有slave节点)
#设置hosts
192.168.123.200 rocketmq-namesrv1
192.168.123.200 rocketmq-master1
192.168.123.201 rocketmq-namesrv2
192.168.123.201 rocketmq-master2
#解压上一步得到的apache-rocketmq.tar.gz到/usr/local/rocketmq
mkdir /usr/local/rocketmq
tar -zxvf apache-rocketmq.tar.gz -C /usr/local/rocketmq
#自定义目录
mkdir /usr/local/rocketmq/store
mkdir /usr/local/rocketmq/store/commitlog
mkdir /usr/local/rocketmq/store/consumequeue
mkdir /usr/local/rocketmq/store/index
mkdir /usr/local/rocketmq/logs
4.修改rocketmq配置文件
vim /usr/local/rocketmq/conf/2m-noslave/broker-a.properties
#内容如下:
brokerClusterName=DefaultCluster
brokerName=broker-a|broker-b
brokerId=0
namesrvAddr=rocketmq-namesrv1:9876;rocketmq-namesrv2:9876
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
storePathRootDir=/usr/local/rocketmq/store
storePathCommitLog=/usr/local/rocketmq/store/commitlog
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
storePathIndex=/usr/local/rocketmq/store/index
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
abortFile=/usr/local/rocketmq/store/abort
5.修改日志配置
cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
6.修改启动脚本配置(主要是调小jvm内存)
/usr/local/rocketmq/bin/runbroker.sh
/usr/local/rocketmq/bin/runserver.sh
7.启动namesrv【两台】
cd /usr/local/rocketmq/bin && nohup sh mqnamesrv &
tail -100f /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log
8.启动broker
#在机器rocketmq-master1上
cd /usr/local/rocketmq/bin && nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties > /dev/null 2>&1 &
#在机器rocketmq-master2上
cd /usr/local/rocketmq/bin && nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-b.properties > /dev/null 2>&1 &
9.安装rocketmq-console
wget https://github.com/apache/rocketmq-externals/archive/rocketmq-console-1.0.0.tar.gz
#解压 todo
#修改配置 rocketmq.config.namesrvAddr=rocketmq-namesrv1:9876;rocketmq-namesrv2:9876
vim src/main/resources/application.properties
#编译
mvn clean package -Dmaven.test.skip=true
#运行
java -jar rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console/target/rocketmq-console-ng-1.0.0.jar
10.测试
可以运行rocketmq\example\src\main\java\org\apache\rocketmq\example\quickstart\Producer.java