RocketMQ学习(二)- 集群安装与部署

一、安装准备

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服务器配置角色
1192.168.61.2716g 4cNameserver,Broker-a-master
2192.168.61.2816g 4cNameserver,Broker-b-master
3192.168.61.2916g 4cNameserver,Broker-c-master
4192.168.61.3016g 4cBroker-a-slave
5192.168.61.3116g 4cBroker-a-slave
6192.168.61.3216g 4cBroker-a-slave
7192.168.61.3316g 4crocketmq-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默认给出了三种建议配置模式

  1. 2m-2s-async(主从异步) -- 本文采用这种
  2. 2m-2s-sync(主从同步)
  3. 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

 


以上,请参考!

 

参考链接1  参考链接2

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值