软件包下载
https://archive.apache.org/dist/rocketmq/4.6.1/
注意:安装rocketmq前,先确认是否安装了jdk,rocketmq依赖jdk8以上
解压
unzip rocketmq-all-4.6.1-bin-release.zip
创建存储message持久化目录,给每个broker指定持久化路径
mkdir -p /data/rocketmqStore/a-m
mkdir -p /data/rocketmqStore/a-s
mkdir -p /data/rocketmqStore/b-m
mkdir -p /data/rocketmqStore/b-s
集群配置文件说明
[root@rocketmq conf]# ll /usr/local/rocketmq/conf/
总用量 36
drwxr-xr-x. 2 root root 118 3月 9 13:58 2m-2s-async ##2主2从不实时同步配置文件
drwxr-xr-x. 2 root root 118 3月 9 14:38 2m-2s-sync ##2主2从实时同步
drwxr-xr-x. 2 root root 91 11月 28 20:47 2m-noslave ##2主0从
-rw-r--r--. 1 root root 949 1月 6 16:43 broker.conf ##只起单个broker的配置文件
drwxr-xr-x. 2 root root 72 11月 28 20:47 dledger
-rw-r--r--. 1 root root 14978 11月 28 20:47 logback_broker.xml
-rw-r--r--. 1 root root 3836 11月 28 20:47 logback_namesrv.xml
-rw-r--r--. 1 root root 3761 11月 28 20:47 logback_tools.xml
-rw-r--r--. 1 root root 1305 11月 28 20:47 plain_acl.yml
-rw-r--r--. 1 root root 834 11月 28 20:47 tools.yml
配置2主2从
cd /usr/local/rocketmq/conf/
vim 2m-2s-sync/broker-a.properties
#broker-a主节点
brokerIP1=0.0.0.0 #外网ip
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10911
storePathRootDir=/data/rocketmqStore/a-m
namesrvAddr=localhost:9876
#broker-a从节点
brokerIP2=0.0.0.0 #外网ip
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=10811
storePathRootDir=/data/rocketmqStore/a-s
namesrvAddr=localhost:9876
#broker-b主节点
brokerIP3=0.0.0.0 #外网ip
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10711
storePathRootDir=/data/rocketmqStore/b-m
namesrvAddr=localhost:9876
#broker-b从节点
brokerIP4=0.0.0.0 #外网ip
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
listenPort=10611
storePathRootDir=/data/rocketmqStore/b-s
namesrvAddr=localhost:9876
启动namesrv、broker前修改bin/runserver.sh、bin/runbroker.sh
修改java内存大小,默认为4G,由于服务器只是4c8g,内存不太够无法分配那么多
vim bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
vim bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=128m"
启动mqnamesrv
cd /usr/local/rocketmq/bin
nohup mqnamesrv &
声明namesrver、rocketmq环境变量
export ROCKETMQ_HOME=/usr/local/rocketmq
export NAMESRV_ADDR='localhost:9876'
PATH=$PATH:$JAVA_HOME/bin:$ROCKETMQ_HOME/bin
export PATH
启动4个broker,使用-c指定启动配置文件
nohup ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties &
nohup ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties &
nohup ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties &
nohup ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties &
生产者和消费者测试
tools.sh org.apache.rocketmq.example.quickstart.Producer
tools.sh org.apache.rocketmq.example.quickstart.Consumer
rocketmq-console安装
git下载rocketmq-console源码
cd rocketmq-console
#修改配置文件
rocketmq.config.namesrvAddr=localhost:9876
#打包
mvn clean package -Dmaven.test.skip=true
上传服务器并启动rocketmq-console
nohup java -jar rocketmq-console-ng-1.0.0.jar
启动成功后,外网ip:8080访问即可