RocketMQ 高可用集群部署教程

Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。

上面是摘抄的官网,知道 RocketMQ 是当前很流行的消息队列中间件即可,本文主要介绍其安装过程。

官网地址:RocketMQ · 官方网站 | RocketMQ

Github地址:GitHub - apache/rocketmq: Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.

软件包下载地址:下载 | RocketMQ

安装一般系统搭建的套路都差不多

  • 主机准备及主机规划

  • 主机配置,依赖安装

  • 软件下载,路径规划

  • 软件配置及检查

  • 启动测试及验证

  • 开机自启,高可用保障

主机规划

准备 3 台主机,角色和相应端口分配如下。

IP 角色 端口
10.70.3.1 nameserverbroker 987610909,10911,10912
10.70.3.251 nameserverbroker 987610909,10911,10912
10.70.3.252 nameserverbroker 987610909,10911,10912

安装JDK

这个根据大家的喜好来,可以直接通过 yum 之类的工具或者下载相关的 JDK 发行版即可,我前面的文章介绍过几次了,大家可以往前翻一翻(说不定有惊喜哟)。

我这里直接 yum 安装 openjdk 11 了

yum install -y java-11-openjdk

安装RocketMQ

下载解压

下载并解压至 /usr/local/ 目录,我这里以 4.5.1 旧版本为例,大家也可以更换为较新的版本

cd /usr/local/
wget https://archive.apache.org/dist/rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip

# 安装zip解压工具
yum install -y unzip

##解压到指定目录
unzip rocketmq-all-4.5.1-bin-release.zip

配置文件修改

修改 JVM 参数(可选)

##进入脚本目录
cd /usr/local/rocketmq-all-4.5.1-bin-release/bin
  
##修改启动脚本(可选)
#修改broker
vim runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
#修改nameserver
vim runserver.sh
JAVA_OPT="${JA
### RocketMQ 高可用集群搭建教程 #### 了解RocketMQ架构 Apache RocketMQ 是一款分布式消息中间件,支持高吞吐量和低延迟的消息传递。为了确保系统的高可用性和可靠性,在生产环境中通常会部署多副本的Broker实例来组成集群[^2]。 #### 准备工作环境 在开始之前,确认已准备好至少两台服务器用于构建主从结构的Broker节点。每一对Broker之间保持网络互通,并且时间同步服务正常运行。此外,还需安装JDK并设置好JAVA_HOME环境变量[^4]。 #### 安装与初始化 下载官方发布的最新稳定版本二进制包至各目标机器上解压。对于每一个打算作为Name Server的角色来说,只需启动该进程而无需额外配置;而对于计划成为Broker的服务端,则需依据实际需求调整`broker.conf`中的参数设定[^1]。 #### 修改默认配置文件 进入解压缩后的目录下的`conf/2m-2s-sync`路径找到适用于双Master加双Slave模式同步刷盘方式的模板文件。重点编辑如下几项: - `brokerRole=ASYNC_MASTER` 或者 `SYNC_MASTER`: 设置当前Broker角色为主节点还是异步复制类型的从节点。 - `flushDiskType=ASYN_FLUSH` : 控制磁盘刷新机制为异步操作以提高性能。 - 更新监听IP(`listenPort`) 和其他必要的连接属性以便于远程访问控制。 ```properties # Example of broker configuration file snippet. brokerClusterName=DefaultCluster brokerName=broker-a brokerId=0 namesrvAddr=localhost:9876 storePathRootDir=/home/wangym/rocketmq/store storePathCommitLog=/home/wangym/rocketmq/store/commitlog ``` #### 启动组件 按照先启动NameServer再依次开启各个Broker的原则执行命令行指令完成整个集群的激活过程。注意观察日志输出确保没有任何错误提示发生。 ```bash nohup sh bin/mqnamesrv & nohup sh bin/mqbroker -n localhost:9876 & ``` #### 测试验证 通过发送测试消息到主题(Topic),然后尝试读取消息的方式检验集群是否能够正确处理请求。可以借助工具类如`tools.sh`来进行简单的生产和消费模拟实验[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值