RocketMQ~双主双从同步集群搭建

Rocket 双主双从环境搭建

  1. 服务器环境
  2. Host添加信息
  3. 防火墙配置
  4. 环境变量配置
  5. 创建消息存储路径
  6. broker配置文件
  7. 修改启动脚本文件
  8. 服务器启动
  9. 查看进程状态
  10. 查看日志

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配置文件

  1. 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.修改启动脚本

  1. runbroker.sh
vi /service/tools/rocketmq/bin/runbroker.sh

需要根据内存大小进行适当的对JVM参数进行调整

#开发环境配置 JVM Configuration
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xms256m -Xms128m"
  1. runserver.sh
vim /service/tools/rocket/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xms256m -Xms128m -xx:MetaspaceSize=128m -xx:MaxMetaspeceSize=320m"

8.启动服务

  1. 启动 NameService 集群

分别在 10.211.55.53 10.211.55.54 启动Nameserver

cd /service/tools/rocketmq/bin
nohup sh mqnamesrv &
  1. 启动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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章