Rocket 双主双从环境搭建
- 服务器环境
- Host添加信息
- 防火墙配置
- 环境变量配置
- 创建消息存储路径
- broker配置文件
- 修改启动脚本文件
- 服务器启动
- 查看进程状态
- 查看日志
1. 服务器配置
序号 | Ip | 角色 | 架构模式 |
---|---|---|---|
1 | 10.211.55.53 | nameServer, brokerserver | Master1, Slave2 |
2 | 10.211.55.54 | Nameserver, brokerserver | Mater2,Slave1 |
2.Host添加信息
vim /etc/hosts
配置如下
#nameserver
10.211.55.53 rocketmq-nameserver-1
10.211.55.54 rocketmq-nameserver-2
#broker
10.211.55.53 rocketmq-master-1
10.211.55.54 rocketmq-slave-1
10.211.55.54 rocketmq-master-2
10.211.55.53 rocketmq-slave-2
配置完成后重启网卡
systemctl restart network
3.关闭防火墙
#关闭防火墙
systemctl stop firewalld.service
#查看防火墙的状态
firewall-cmd --state
#禁止防火墙开启启动
systemctl disable firewalld.service
注:
Rocket默认使用3个端口, 9876, 10911, 11011 如果防火墙没有关闭的话,那么防火墙必须开放这些端口:
- nameserver 默认使用9876端口
- master 默认使用10911端口
- slave 默认使用11011端口
4.环境变量配置
vim /etc/profile
在profile文件的末尾加上如下命令
#set rocketmq rocket的安装目录
ROCKETMQ_HOME=/service/tools/rocketmq
PATH=$PATH:$ROCKETMQ_HOME/bin
export ROCKETMQ_HOME PATH
保存退出 进行刷新
source /etc/profile
5.创建消息目录
mkdir -p /service/tools/rocketmq/store
mkdir -p /service/tools/rocketmq/store/commitlog
mkdir -p /service/tools/rocketmq/store/consumequeue
mkdir -p /service/tools/rocketmq/store/index
mkdir -p /service/tools/rocketmq/store/checkpoint
mkdir -p /service/tools/rocketmq/store/abort
6.broker配置文件
- master-1
服务器配置: 10.211.55.53
#所属集群名称
brokerClusterName=DefaultCluster
#borker名称,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 master >0 表示 slave
brokerId=0
#nameserver地址, 分号分割
namesrvAddr=rocketmq-nameserver-1:9876 rocketmq-nameserver-2:9876
#在发消息时,自动创建Tocic,建议线下开启.默认创建的队列数
defaultTopicQueueNums=4
#是否允许 broker 自动创建订阅组, 建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#broker 对外服务的监听端口
listenPort=10911
#删除文件时间点 默认为凌晨4点
deleteWhen=04
#文件保留时间 默认 48小时
fileReservedTime=120
#commitlog每个文件默认存储30w条, 根据业务情况调整
mapedFileSizeConsumeQueue=300000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/service/tools/rocketmq/store
#commitlog存储路径
storePathCommitLog=/service/tools/rocketmq/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/service/tools/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/service/tools/rocketmq/store/index
#checkpoint文件存储路径
storeCheckpoint=/service/tools/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/service/tools/rocketmq/store/abort
#限制的消息大小
maxMessageSize=655366
#Broker角色
#ASYNC_MASTER 异步复制master
#SYNC_MASTER 同步复制master
brokerRole=SYNC_MASTER
#刷盘方式
#SYNC_FLUSH 同步刷盘
#ASYNC_FLUSH 异步刷盘
flushDiskType=SYNC_FLUSH
#sendTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
7.修改启动脚本
- runbroker.sh
vi /service/tools/rocketmq/bin/runbroker.sh
需要根据内存大小进行适当的对JVM参数进行调整
#开发环境配置 JVM Configuration
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xms256m -Xms128m"
- runserver.sh
vim /service/tools/rocket/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xms256m -Xms128m -xx:MetaspaceSize=128m -xx:MaxMetaspeceSize=320m"
8.启动服务
- 启动 NameService 集群
分别在 10.211.55.53 10.211.55.54 启动Nameserver
cd /service/tools/rocketmq/bin
nohup sh mqnamesrv &
-
启动Broker集群
在 10.211.55.53 上启动 master-1 和 slave-2
master-1
cd /service/tools/rocketmq/bin nohup sh mqbroker -c /service/tools/rocketmq/conf/2m-2s-sync/broker-a.properties -n 10.211.55.54:9876 &
slave-2
cd /service/tools/rocketmq/bin nohup sh mqbroker -c /service/tools/rocketmq/conf/2m-2s-sync/broker-b-s.properties -n 10.211.55.54:9876 &
在 10.211.55.54 上启动 master-2 和 slave-1
master-2
cd /service/tools/rocketmq/bin nohup sh mqbroker -c /service/tools/rocketmq/conf/2m-2s-sync/broker-b.properties -n 10.211.55.53:9876 &
slave-1
cd /service/tools/rocketmq/bin nohup sh mqbroker -c /service/tools/rocketmq/conf/2m-2s-sync/broker-a-s.properties -n 10.211.55.53:9876 &
9.查看进程状态
jps
10.查看日志
#查看nameserver日志
tail -500f ~/logs/rocketmqlogs/namesrv.log
#查看broker日志
tail -500f ~/logs/rocketmqlogs/broker.log