RocketMQ集群扩容方案

时间:2024-06-03 07:47:43

下文以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

RocketMQ集群扩容方案

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

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

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

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

一般与flushDiskType对应着用,使用SYNC_MASTER性能会受到影响。

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查看是否启动成功

RocketMQ集群扩容方案

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

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

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

RocketMQ集群扩容方案

 

 

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

RocketMQ集群扩容方案

RocketMQ集群扩容方案