一、安装准备
1、RocketMQ二进制文件下载:
wget https://mirror.bit.edu.cn/apache/rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip
2.apache官网下载rocketmq二进制包安装包地址: http://rocketmq.apache.org/release_notes/release-notes-4.3.2/
3.JDK1.8安装环境:https://blog.csdn.net/weixin_41668084/article/details/111147667
4.准备4台以上环境
RocketMQ集群准备(2m-2s-async) | |||
序号 | ip | 服务器配置 | 角色 |
1 | 192.168.61.27 | 16g 4c | Nameserver,Broker-a-master |
2 | 192.168.61.28 | 16g 4c | Nameserver,Broker-b-master |
3 | 192.168.61.29 | 16g 4c | Nameserver,Broker-c-master |
4 | 192.168.61.30 | 16g 4c | Broker-a-slave |
5 | 192.168.61.31 | 16g 4c | Broker-a-slave |
6 | 192.168.61.32 | 16g 4c | Broker-a-slave |
7 | 192.168.61.33 | 16g 4c | rocketmq-console |
二、部署安装
1.上传安装到指定位置并解压
2.将解压文件移动到指定位置
# 解压文件
unzip rocketmq-all-4.7.1-bin-release.zip
# 移动文件并重命名
mv rocketmq-all-4.7.1-bin-release /usr/local/rocketmq
3.修改配置文件
a.rocketmq默认给出了三种建议配置模式
- 2m-2s-async(主从异步) -- 本文采用这种
- 2m-2s-sync(主从同步)
- 2m-noslave(仅master)
b.创建配置文件:
192.168.61.27为 Nameserver 和 Broker-a-master,创建配置文件
### cluster broker-a-master node ###
namesrvAddr=192.168.61.27:9876;192.168.61.28:9876;192.168.61.29:9876
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerIP1=192.168.61.27
brokerId=0
autoCreateTopicEnable=true #允许自动创建主题
sendMessageThreadPoolNums=128
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
#存储路径
storePathRootDir=/usr/local/rocketmq/data/store
#commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/data/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/data/store/consumequeue
# 消息索引存储路径
storePathIndex=/usr/local/rocketmq/data/store/index
# checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/data/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/data/store/abort
#发送消息是否使用可重入锁
useReentrantLockWhenPutMessage=true
#消息在发送队列超时时间
waitTimeMillsInSendQueue=300
192.168.61.30的Broke-a-slave配置文件(对应的主服务器为192.168.61.27)
### cluster broker-a-slave node ###
namesrvAddr=192.168.61.27:9876;192.168.61.28:9876;192.168.61.29:9876
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerIP1=192.168.61.30
brokerId=1
autoCreateTopicEnable=true #允许自动创建主题
sendMessageThreadPoolNums=128
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
#存储路径
storePathRootDir=/usr/local/rocketmq/data/store
#commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/data/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/data/store/consumequeue
# 消息索引存储路径
storePathIndex=/usr/local/rocketmq/data/store/index
# checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/data/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/data/store/abort
#发送消息是否使用可重入锁
useReentrantLockWhenPutMessage=true
#消息在发送队列超时时间
waitTimeMillsInSendQueue=300
其他4台服务器依次创建:
192.168.61.28: broker-b-master.properties
192.168.61.29: broker-c-master.properties
192.168.61.31: broker-b-slave.properties
192.168.61.32: broker-c-slave.properties
三、启动服务
1.依次启动mqnamesrv服务
# 三台主服务器
# 192.168.61.27
# 192.168.61.28
# 192.168.61.29
nohup /usr/local/rocketmq/bin/mqnamesrv &
jps命令可以看到有进程 “NamesrvStartup” 存在
2.依次启动mqbroker
# 主服务器
nohup /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/broker-a-master.properties &
nohup /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/broker-b-master.properties &
nohup /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/broker-b-master.properties &
# 从服务器
nohup /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/broker-a-slave.properties &
nohup /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/broker-b-slave.properties &
nohup /usr/local/rocketmq/bin/mqbroker -c /usr/local/rocketmq/conf/broker-ca-slave.properties &
nohup java -jar rocketmq-console-ng-2.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=192.168.61.27:9876;192.168.61.28:9876;192.61.29:9876 &
3.查看主从服务启动状态
a.主机启动服务
b.从机启动服务
四、控制台安装
rocketmq提供多种管理方式,命令行和界面等,
apache提供一个开源的扩展项目: https://github.com/apache/rocketmq-externals 里面包含一个子项目rocketmq-console,配置下,打个包就可以用了
1.下载上传到指定文件,解压
2.修改配置文件
3.maven编译打包
mvn clean package -Dmaven.test.skip=true
4.启动jar,并且控制台查看
java -jar rocketmq-console-ng-1.0.0.jar >/usr/local/rocketmq/logs/mq-console.log 2>&1 &
输入控制台地址:任选一个
192.168.61.27:8080
192.168.61.28:8080
192.168.61.29:8080
以上,请参考!