RocketMQ集群扩容方案

本文详细介绍了RocketMQ集群扩容的过程,包括下载安装RocketMQ,创建和配置新的broker,修改运行参数,启动和检查broker状态,以及在控制台更新topic和consumer的配置,确保新broker能正常参与生产和消费。

下文以rocketmq-4.3.0版本为例,新加的broker不作为namesrv使用(要不然需要修改整个集群配置,重启整个集群),原先集群构成为三主三从,刷盘方式为异步刷盘,节点配置为4核8G阿里云服务器。

1.(进入/data路径)下载rocketmq zip包

wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.3.0/rocketmq-all-4.3.0-bin-release.zip

2.安装unzip(新机器的话再配置下java环境变量)

yum install -y unzip zip

3.解压rocketmq包

unzip /data/rocketmq-all-4.3.0-bin-release.zip

4.重命名

mv /data/rocketmq-all-4.3.0-bin-release /data/rocketmq-4.3

5.创建集群配置文件夹

mkdir /data/rocketmq-4.3/conf/4m-4s-async

6.创建集群配置文件并设置参数(也可复制原集群节点的配置文件进行稍作修改,主要修改brokerName、brokerId、brokerRole、namesrvAddr四个参数)

主节点:touch /data/rocketmq-4.3/conf/4m-4s-async/broker-d.conf

从节点:touch /data/rocketmq-4.3/conf/4m-4s-async/broker-d-s.conf

使用vim /data/rocketmq-4.3/conf/4m-4s-async/broker-d.conf命令,修改配置:

--brokerName:broker名称(需要修改)

--brokerId:broker节点ID,主节点为0,从节点为1

--brokerRole:broker节点角色,主节点为ASYNC_MASTER,从节点为SLAVE。官方文档解释如下

如果对消息的可靠性要求比较严格,可以采用 SYNC_MASTER加SLAVE的部署方式。如果对消息可靠性要求不高,可以采用ASYNC_MASTER加SLAVE的部署方式。如果只是测试方便,则可以选择仅ASYNC_MASTER或仅SYNC_MASTER的部署方式。

一般与flushDiskType对应着用,使用同步双写+异步刷盘的方式。

7.修改/data/rocketmq-4.3/bin路径下runbroker.sh、runserver.sh的vm运行参数

进入rocketmq路径下的bin目录:

 cd /data/rocketmq-4.3/bin/

修改runbroker.sh的vm参数(按照现有集群配置):

修改runserver.sh的vm参数(按照现有集群配置):

 

8.broker启停(可使用jps指令查看是否启停成功)

启动

主节点:nohup sh /data/rocketmq-4.3/bin/mqbroker -c /data/rocketmq-4.3/conf/4s-4m-async/broker-d.conf &

从节点:nohup sh /data/rocketmq-4.3/bin/mqbroker -c /data/rocketmq-4.3/conf/4m-4s-async/broker-d-s.conf &

停止

sh /data/rocketmq-4.3/bin/mqshutdown broker

使用jps查看是否启动成功

上图可以看出namesrv和broker都已启动成功。当然,这次新加的节点不作namesrv使用,所以我们在使用jps指令时只能看到BrokerStartup,我截上图只是想说明不管是broker和namesrv都可以通过jps来查看。

9.进入rocketmq控制台,对topic(可往新broker生产)和consumer(可从新broker消费)分别添加新增的broker

topic配置:将broker-d加到原来三主三从集群中,如果不做此项配置,生产者不会往broker-d中生产数据

 

 

consumer配置:将borker-d加到原来三主三从中,如果不做此项配置,消费组不会从broker-d中消费数据

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值