返回
高可靠、高可用!RocketMQ 双主双从集群部署指南
见解分享
2023-09-18 16:53:55
引言
在现代分布式系统中,消息队列 (MQ) 已成为实现松散耦合、可靠消息传递和高可用性的关键组件。RocketMQ 作为一款流行的开源 MQ,以其高性能、低延迟和丰富的功能而著称。本指南将重点介绍如何安装和配置 RocketMQ 以创建具有双主双从同步复制功能的高可靠、高可用集群。
先决条件
- Java 8 或更高版本
- Maven 3.0 或更高版本
- 操作系统:Linux 或 macOS
安装 RocketMQ
- 下载 RocketMQ 发行版:https://rocketmq.apache.org/releases/
- 解压发行版:
tar -xzf rocketmq-release-version.tar.gz
- 进入 RocketMQ 目录:
cd rocketmq-release-version
配置 RocketMQ
1. Broker 配置
编辑 conf/broker.conf
文件,配置以下参数:
brokerClusterName = YourClusterName
brokerId = 0,1
对于主节点,设置 brokerId
为 0
,对于从节点,设置 brokerId
为 1
。
2. NameServer 配置
编辑 conf/namesrv.conf
文件,配置以下参数:
brokerAddr = 127.0.0.1:10911;127.0.0.1:10912
3. 创建集群
运行以下命令创建集群:
sh bin/mqadmin createCluster -c YourClusterName
4. 启动服务
启动 NameServer:
sh bin/mqnamesrv
启动主 Broker:
sh bin/mqbroker -n 127.0.0.1:9876
启动从 Broker:
sh bin/mqbroker -n 127.0.0.1:10911
验证集群
使用以下命令验证集群是否正常运行:
sh bin/mqadmin examineCluster -c YourClusterName
如果输出显示所有 Broker 和 NameServer 均为绿色,则表示集群已成功创建。
配置同步复制
1. 配置主 Broker
在主 Broker 的 conf/broker.conf
文件中,配置以下参数:
haListenPort = 10912
masterSyncHaAddr = 127.0.0.1:10912
2. 配置从 Broker
在从 Broker 的 conf/broker.conf
文件中,配置以下参数:
haListenPort = 10913
slaveSyncHaAddr = 127.0.0.1:10912
3. 启用同步复制
重新启动主 Broker 和从 Broker 以启用同步复制。
测试同步复制
发送消息到主 Broker:
sh bin/mqadmin sendMsg -t YourTopic -m "Hello World"
验证从 Broker 是否收到相同的消息:
sh bin/mqadmin queryMsg -t YourTopic -m "Hello World"
结论
通过遵循本指南,您已成功安装和配置了具有双主双从同步复制功能的 RocketMQ 高可靠、高可用集群。此集群提供了卓越的数据完整性、高可用性,并可以轻松扩展以满足不断增长的需求。