rocketmq集群搭建 双主双从

1.说明

准备好两台机器, 分别为182.61.35.150(下面会表述成机器一) 跟106.13.127.201(下面会表述成机器二),而且两台机器rocketmq包路径为/usr/local/rocketmq/rocketmq-all-4.4.0-bin-release。rocketmq安装包从官网获取即可。本次rocket集群采用的双主双从同步集群模式。

rocketmq集群安装说明
名字 机器ip 端口
master1 182.61.35.150 10911
salve1 106.13.127.201 11011
master2 106.13.127.201 10911
salve2 182.61.35.150 11011
namesrv1 182.61.35.150 9876
namesrv2 106.13.127.201 9876

   

二、安装步骤

2.1 host 添加信息

使用vim /etc/hosts 命令,输入以下配置,保存并退出,重启网卡,systemctl restart network。

182.61.35.150   rocketmq-nameserver1
106.13.127.201 rocketmq-nameserver2

106.13.127.201 rocketmq-master2
106.13.127.201 rocketmq-slave1
182.61.35.150 rocketmq-master1
182.61.35.150  rocketmq-slave2

2.2防火墙配置

# 关闭防火墙
systemctl stop firewalld.service 
# 查看防火墙的状态
firewall-cmd --state 
# 禁止firewall开机启动
systemctl disable firewalld.service

或者为了安全,只开放特定的端口号,RocketMQ默认使用3个端口:9876 、10911 、11011 。如果防火墙没有关闭的话,那么防火墙就必须开放这些端口:

nameserver 默认使用 9876 端口
master 默认使用 10911 端口
slave 默认使用11011 端口
# 开放name server默认端口
firewall-cmd --remove-port=9876/tcp --permanent
# 开放master默认端口
firewall-cmd --remove-port=10911/tcp --permanent
# 开放slave默认端口 (当前集群模式可不开启)
firewall-cmd --remove-port=11011/tcp --permanent 
# 重启防火墙
firewall-cmd --reload

2.3配置rocket环境变量

vim /etc/profile ,输入以下配置,保存退出,然后刷新环境配置,source /etc/profile

#set rocketmq
ROCKETMQ_HOME=/u

### 设置和管理 RocketMQ 双主双从集群架构 #### 名词解释 为了更好地理解如何设置和管理 RocketMQ双主双从集群架构,先来了解一下各个组件及其作用。NameServer 是名称服务器,在整个消息队列体系里负责路由管理和负载均衡;Producer 生产者用于发送消息到指定的主题(Topic),而 Consumer 则是从特定主题订阅并消费这些消息的应用程序实例[^2]。 #### 架构特点 该种类型的集群由两个 Master 和两个 Slave 组成,其中每一对 Master-Slave 形成了一个逻辑上的节点对。这种设计不仅提高了系统的可靠性还增强了容错能力。当其中一个 Master 出现故障时,其对应的 Slave 将接管工作继续提供服务,从而保证了业务连续性[^3]。 #### 环境准备与配置 要成功建立这样一个高可用性的消息中间件环境,需完成如下几个关键步骤: ##### Host 添加信息 编辑 `/etc/hosts` 文件加入所有参与构建此集群机器之间的映射关系,确保它们可以通过主机名互相访问[^4]。 ##### 防火墙配置 允许必要的端口通信以便于不同角色之间能够正常交互。通常情况下涉及到了 NameServer 默认监听9876端口、Broker默认使用的10911端口等[^5]。 ##### 环境变量设定 通过修改用户的 shell profile (如 `.bashrc`) 来定义 `ROCKETMQ_HOME` 并将其 bin 目录添加至 PATH 中,使得命令行工具可以被全局调用。 ```shell export ROCKETMQ_HOME=/usr/local/rocketmq export PATH=$PATH:$ROCKETMQ_HOME/bin ``` ##### 存储路径创建 为每一个 Broker 实例单独设立存放日志和其他运行时数据的空间是非常重要的一步操作。这有助于保持良好的性能表现同时也便于后期维护管理工作。 #### Broker 配置调整 针对每个不同的 Broker 成员都需要精心定制相应的参数选项以满足实际应用场景的需求。具体来说就是分别编写适用于 master1, slave1, master2 以及 slave2 的配置文件,并放置在合适的位置下。 对于同步双写的场景而言,特别需要注意的是要在 slave 的配置文件中指明 syncMasterEnable=true 这样才能开启同步复制功能。 #### 启动顺序和服务验证 按照一定的次序依次启动 NameServer 和 Brokers ,即先让所有的 NameServers 上线之后再逐一激活 Masters 和 Slaves 。最后借助官方提供的客户端工具或者其他方式测试消息能否顺利发布与接收以此确认整体架构已经正确无误地搭建完毕。 #### 使用 RocketMQ Dashboard 进行监控 一旦完成了上述全部准备工作,则可通过安装部署 RocketMQ Dashboard 来获取关于当前集群状态的各种统计图表及报警提示等功能支持,进一步简化运维人员日常工作的复杂度[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值