RocketMQ 集群高可用之主从模式搭建
| 角色 | IP |
|---|---|
| Master | 192.168.100.7 |
| Slave | 192.168.100.8 |
环境:RocketMQ + JDK21 + Maven + CentOS7
环境安装以及 RocketMQ 编译等步骤省略
修改 RocketMQ 配置(生产环境不用修改,具体看服务器配置)
启动内存配置,两个机器都要修改
个人 RocketMQ 存放位置
shell
### 编译之后的全路径,编译见第二章
cd /usr/local/rocketmq/rocketmq-all-5.3.3-source-release/distribution/target/rocketmq-5.3.3/rocketmq-5.3.3修改 runserver
shell
### 打开文件夹
vim bin/runserver.sh
### 修改配置文件
JAVA_OPT="${JAVA_OPT} -server -Xms528m -Xmx528m -Xmn256m -XX:MetaspaceSize-128m -XX:MaxMetaspaceSize-320m"修改 runbroker
shell
### 打开文件夹
vim bin/runbroker.sh
### 修改配置文件
JAVA_OPT="${JAVA_OPT} -server -Xms528m -Xmx528m -Xmn256m"启动 NameServer
启动两个机器的 NameServer
shell
# 启动 nameserver
nohup sh bin/mqnamesrv &
# 查看启动日志
tail -f nohup.out
# 查看是否启动成,启动成功会输出 NamesrvStartup
jps主节点配置
重要参数
| 参数 | 描述 |
|---|---|
| namesrvAddr | 节点地址,多个节点之间使用 ; 分开(主从一致) |
| brokerClusterName | 集群名称(主从一致) |
| brokerName | broker名称(主从一致) |
| brokerId | 集群名称(主从唯一, 0: 主节点; 大于0: 从节点) |
| deleteWhen | 集群名称 (主从一致) |
| fileReservedTime | 集群名称 (主从一致) |
| brokerRole | 角色(主从唯一: ASYNC_MASTER: 异步复制主节点; SLAVE: 从节点) |
| flushDiskType | 刷盘策略(主从一致: ASYNC_FLUSH: 异步刷盘) |
主节点配置
shell
# 打开配置文件
vim conf/2m-2s-async/broker-a.properties
# 添加配置文件
namesrvAddr=192.168.100.7:9876;192.168.100.8:9876
brokerClusterName=FlyUniCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH启动主节点
shell
nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a.properties &从节点配置
shell
# 打开配置文件
vim conf/2m-2s-async/broker-a-s.properties
# 配置文件信息
namesrvAddr=192.168.100.7:9876;192.168.100.8:9876
brokerClusterName=FlyUniCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH启动从节点
shell
nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a-s.properties &管控台修改事项
- 里面的 rocketmq 版本号 pom.xml
- application.properties 里面的 nameserver , 增加
rocketmg.config namesrvAddr=192.168.100.7:9876:192.168.100.8:9876

剑鸣秋朔