返回

高可靠、高可用!RocketMQ 双主双从集群部署指南

见解分享

引言

在现代分布式系统中,消息队列 (MQ) 已成为实现松散耦合、可靠消息传递和高可用性的关键组件。RocketMQ 作为一款流行的开源 MQ,以其高性能、低延迟和丰富的功能而著称。本指南将重点介绍如何安装和配置 RocketMQ 以创建具有双主双从同步复制功能的高可靠、高可用集群。

先决条件

  • Java 8 或更高版本
  • Maven 3.0 或更高版本
  • 操作系统:Linux 或 macOS

安装 RocketMQ

  1. 下载 RocketMQ 发行版:https://rocketmq.apache.org/releases/
  2. 解压发行版:tar -xzf rocketmq-release-version.tar.gz
  3. 进入 RocketMQ 目录:cd rocketmq-release-version

配置 RocketMQ

1. Broker 配置

编辑 conf/broker.conf 文件,配置以下参数:

brokerClusterName = YourClusterName
brokerId = 0,1

对于主节点,设置 brokerId0,对于从节点,设置 brokerId1

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 高可靠、高可用集群。此集群提供了卓越的数据完整性、高可用性,并可以轻松扩展以满足不断增长的需求。