RocketMQ主从同步配置

前言


前面我们在 需要在VMware下搭建Linux简易局域网集群?手把手教你搞定 一文中搭建了

一个Win10+CentOS7局域网集群,且其各个CentOS之间可以免密钥访问,其IP信息如下:

RocketMQ主从同步配置_第1张图片

并在 RocketMQ环境搭建【单机版配置】一文中配置了单个Master和单个NameServer的单机版

RocketMQ,现在我们将在前面的基础上用centos7-01和centos7-02进行RocketMQ的主从同步配置


目录

一、几个问题

二、配置过程

1、修改Master和Slaver节点的域名映射

2、修改Master节点上的配置文件

3、将Master节点上的RocketMQ远程复制到Slaver节点上

4、修改控制台及RocketMQ案例项目配置文件

 5、主从同步运行验证


一、几个问题

  • 什么是主从同步?

          slaver节点始终有master节点的一个备份,使其可以在必要时能担负起主节点的职责

  • 为什么要主从同步?

          当master宕机时,slaver可以接替master继续维持系统的运行,避免单点故障,可以提高系统的稳定性

二、配置过程

1、修改Master和Slaver节点的域名映射

打开域名映射的配置文件:

sudo vi /etc/hosts

在后面增加以下配置,保存并退出

192.168.2.129 mqnameserver2
192.168.2.129 mqmaster1slaver1

 

2、修改Master节点上的配置文件

① 打开RocketMQ配置文件地址

cd /usr/rocketmq47/conf

② 修改主节点配置文件 broker-a.properties

sudo vi ./broker-a.properties

    修改以下几项:

brokerId=0
brokerRole=ASYNC_MASTER
namesrvAddr=mqnameserver1:9876;mqnameserver2:9876

③ 修改从节点配置文件 broker-a-s.properties

sudo vi ./broker-a-s.properties

 原文件为:

RocketMQ主从同步配置_第2张图片

在后面添加以下配置信息:

namesrvAddr=mqnameserver1:9876;mqnameserver2:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
listenPort=10911
storePathRootDir=/usr/rocketmq47/mqstore
storePathCommitLog=/usr/rocketmq47/mqstore/commitlog
storePathConsuQueue=/usr/rocketmq47/mqstore/consumequeue
storePathIndex=/usr/rocketmq47/mqstore/index
maxMessageSize=65536

 ※ 注:这里在Master节点将主节点和从节点的配置文件均进行了配置,然后后面再拷贝给其他节点。节点的主从身份由启动时调用哪份配置文件决定,一个节点保有主从两份配置便于切换身份

3、将Master节点上的RocketMQ远程复制到Slaver节点上

Master节点切换到rocket目录的上一级目录

cd /usr && ls

远程复制rocketmq47到slaver

scp -r rocketmq47/ [email protected]:/usr/

 ※ root 为 centos7-02 当前登陆得用户名


Linux 小贴士 :scp命令

4、修改控制台及RocketMQ案例项目配置文件

这里要修改的相关项目,参见 我的第一个RocketMQ实例~

 ① 修改rocketmq-console的namesevAddr设置:

打开路径:rocketmq-console/src/main/java/org.apache.rocketmq.console/resources/application.properties

修改以下项:

② 修改MyRocketMQ的namesevAddr设置:

打开路径 MyRocketMQ/src/main/java/com.lhy/api/CONST.java

修改以下项:

 5、主从同步运行验证

①运行Master节点的NameServer

②运行Master节点的Broker

③运行Master节点的NameServer

④运行Master节点的Broker

⑤运行MyProducer

RocketMQ主从同步配置_第3张图片

⑥关闭Master节点的Broker

 ······终端可见当前仅剩Slaver节点

RocketMQ主从同步配置_第4张图片

⑦运行MyConsumer

RocketMQ主从同步配置_第5张图片

可见在没有Master节点仅剩Slaver节点的情况下,消费者依然消费成功,RocketMQ的主从同步实现成功~

你可能感兴趣的:(RocketMQ)