当前位置: 首页 > news >正文

RocketMQ系列第二篇:RocketMQ单机集群保姆级安装部署教程

文章目录

    • 一、本篇前言:为什么要先学会装RocketMQ?
    • 二、安装前置准备:环境硬性要求(必看,不然启动必报错)
      • 1. 基础环境依赖
      • 2. 核心端口牢记
      • 3. 版本选择建议
    • 三、第一阶段:RocketMQ单机版安装(开发测试专用)
      • 步骤1:下载安装包并解压
      • 步骤2:修改JVM内存配置(新手最大坑点)
        • 1)修改NameServer启动内存
        • 2)修改Broker启动内存
      • 步骤3:启动NameServer路由中心
      • 步骤4:启动Broker消息核心服务
      • 步骤5:单机版停止服务命令
    • 四、第二阶段:RocketMQ生产集群安装(Master+Slave主从高可用)
      • 1. 集群规划(2节点标准生产架构)
      • 2. 所有节点统一基础操作
      • 3. 两台节点启动NameServer
      • 4. 配置Master主Broker配置文件
      • 5. 配置Slave从Broker配置文件
      • 6. 启动主从Broker集群
        • 1)节点1启动Master Broker
        • 2)节点2启动Slave Broker
    • 五、可视化控制台Dashboard安装(必装,运维排查神器)
      • 1. 下载Dashboard并启动
      • 2. 访问使用
    • 六、常见启动报错与避坑总结

一、本篇前言:为什么要先学会装RocketMQ?

上一篇我们搞懂了RocketMQ核心概念和工作原理,知道了NameServer、Broker、生产者、消费者各司其职。理论看懂了,下一步必须动手实操。

不管是平时学习练手、本地代码调试,还是公司生产环境上线,安装部署是RocketMQ入门必经的第一步。很多人后面学消息发送、消费、死信、集群调优学不懂,根源就是集群环境没搭对、基础配置乱七八糟。

本篇博客专门写给零基础同学,只讲最通用的Linux环境部署,分两大阶段:

1️⃣单机版本安装:本地开发、学习测试用,一台机器快速搭建,几分钟搞定;

2️⃣生产集群安装(Master-Slave主从架构):高可用、高可靠,生产环境标准标配;

额外附赠:可视化控制台Dashboard安装、启停命令、开机自启、常见启动报错排查,全程复制粘贴就能用,零踩坑。

二、安装前置准备:环境硬性要求(必看,不然启动必报错)

1. 基础环境依赖

  • 操作系统:CentOS 7 / CentOS 8 / Ubuntu 主流Linux发行版均可;
  • JDK版本:必须JDK8及以上(RocketMQ核心基于Java开发,没有JDK直接无法启动);
  • 服务器配置:单机测试1核2G足够,集群建议每台节点2核4G起步;
  • 关闭防火墙/开放端口:9876(NameServer端口)、10911/10909(Broker通信端口)必须通,否则客户端连不上服务。

2. 核心端口牢记

  • NameServer 默认端口:9876 (路由注册中心核心端口)
  • Broker 默认通信端口:10911 (消息收发主端口)
  • Broker 高可用端口:10909 (主从同步、内部通信端口)

3. 版本选择建议

新手直接选RocketMQ 5.x稳定版,新特性多、性能更好、bug更少,兼容性强,本文全程以5.x版本实操演示。

三、第一阶段:RocketMQ单机版安装(开发测试专用)

单机版核心架构:1个NameServer + 1个Broker节点,所有组件都在一台服务器,简单快速,适合本地学习、代码调试、功能测试,不用于生产环境。

步骤1:下载安装包并解压

统一规划安装目录,建议放在/usr/local/rocketmq,命令直接复制执行:

# 创建安装目录mkdir-p/usr/local/rocketmqcd/usr/local/rocketmq# 下载RocketMQ5.x安装包(官方稳定版)wgethttps://archive.apache.org/dist/rocketmq/5.1.4/rocketmq-all-5.1.4-bin-release.zip# 解压安装包unziprocketmq-all-5.1.4-bin-release.zip# 进入解压目录cdrocketmq-all-5.1.4-bin-release

步骤2:修改JVM内存配置(新手最大坑点)

RocketMQ默认JVM内存配置很大,低配机器直接启动闪退、内存溢出,必须先改小内存再启动

1)修改NameServer启动内存
vimbin/runserver.sh

找到JAVA_OPT内存配置,修改为低配机器适配参数:

# 原配置默认内存很大,替换为以下内容JAVA_OPT="${JAVA_OPT}-server -Xms512m -Xmx512m -Xmn256m"
2)修改Broker启动内存
vimbin/runbroker.sh

同样修改内存为适配低配服务器配置:

JAVA_OPT="${JAVA_OPT}-server -Xms512m -Xmx512m -Xmn256m"

步骤3:启动NameServer路由中心

# 后台启动NameServernohupshbin/mqnamesrv&# 查看启动日志,确认是否启动成功tail-f~/logs/rocketmqlogs/namesrv.log

看到这个日志就是启动成功The Name Server boot success. serializeType=JSON, address 0.0.0.0:9876

步骤4:启动Broker消息核心服务

# 后台启动Broker,关联本地NameServer,开启自动创建Topicnohupshbin/mqbroker-n127.0.0.1:9876autoCreateTopicEnable=true&# 查看Broker启动日志tail-f~/logs/rocketmqlogs/broker.log

启动无报错、日志正常输出即为单机环境搭建完成。

步骤5:单机版停止服务命令

# 停止Brokershbin/mqshutdown broker# 停止NameServershbin/mqshutdown namesrv

四、第二阶段:RocketMQ生产集群安装(Master+Slave主从高可用)

单机版只能测试,生产环境绝对不能用单机,一旦节点宕机,整个消息服务全部瘫痪。生产标准架构:双NameServer高可用 + 双Broker主从架构,一台主节点处理读写,一台从节点实时同步数据、分担读压力,故障自动容错,无单点风险。

1. 集群规划(2节点标准生产架构)

  • 节点1(192.168.1.100):NameServer1 + Broker-A Master
  • 节点2(192.168.1.101):NameServer2 + Broker-A Slave

两个NameServer互相备份,两个Broker主从数据实时同步,一台挂了不影响整体业务。

2. 所有节点统一基础操作

两台服务器都按照上面单机安装步骤1、步骤2执行:下载解压安装包、修改JVM内存配置,保证两台节点环境完全一致。

3. 两台节点启动NameServer

两台机器分别执行启动命令,互不影响,构建路由高可用集群:

nohupshbin/mqnamesrv&tail-f~/logs/rocketmqlogs/namesrv.log

4. 配置Master主Broker配置文件

进入节点1(主节点)rocketmq配置目录,新建主节点专属配置文件broker-master.conf

vimconf/broker-master.conf

写入以下核心集群配置(直接复制,修改IP为自己服务器真实IP即可):

# 集群名称,主从必须一致brokerClusterName=RocketMQ-Product-Cluster# Broker名称,主从必须一致brokerName=broker-a# 0代表Master主节点,1代表Slave从节点brokerId=0# 当前节点外网/内网真实IP(务必修改)brokerIP1=192.168.1.100# 允许自动创建Topic(生产后期建议关闭,手动管理)autoCreateTopicEnable=true# 刷盘模式:异步刷盘(性能高,生产默认)flushDiskType=ASYNC_FLUSH

5. 配置Slave从Broker配置文件

进入节点2(从节点)配置目录,新建从节点配置文件broker-slave.conf

vimconf/broker-slave.conf

写入配置,注意brokerId改为1,IP改为从节点IP:

# 集群名称和主节点完全一致brokerClusterName=RocketMQ-Product-Cluster# Broker名称和主节点完全一致brokerName=broker-a# 1代表从节点brokerId=1# 从节点真实IP(务必修改)brokerIP1=192.168.1.101autoCreateTopicEnable=trueflushDiskType=ASYNC_FLUSH

6. 启动主从Broker集群

1)节点1启动Master Broker
nohupshbin/mqbroker-n192.168.1.100:9876;192.168.1.101:9876-cconf/broker-master.conf
2)节点2启动Slave Broker
nohupshbin/mqbroker-n192.168.1.100:9876;192.168.1.101:9876-cconf/broker-slave.conf

至此,生产级高可用主从集群搭建完成,支持故障容错、数据备份、高并发读写。

五、可视化控制台Dashboard安装(必装,运维排查神器)

命令行操作不方便,日常看集群状态、Topic管理、消息查询、死信查看、消费监控,全靠可视化控制台RocketMQ Dashboard,一键安装即可。

1. 下载Dashboard并启动

直接下载官方编译好的jar包,一行命令启动:

# 下载dashboardwgethttps://github.com/apache/rocketmq-dashboard/releases/download/rocketmq-dashboard-1.0.0/rocketmq-dashboard-1.0.0.jar# 启动控制台,指定NameServer集群地址java-jarrocketmq-dashboard-1.0.0.jar--rocketmq.namesrv.addr=127.0.0.1:9876--server.port=8080

2. 访问使用

浏览器输入:http://服务器IP:8080,即可可视化管理集群所有资源,新手运维必备。

六、常见启动报错与避坑总结

  • 启动闪退、内存溢出:没修改runserver.sh和runbroker.sh默认大内存,改小即可;
  • 客户端连不上Broker:防火墙没关、端口未开放,brokerIP1配置成内网IP错误;
  • 主从不同步:集群名称、brokerName主从不一致,严格保持一模一样;
  • 启动成功但发不了消息:没开启autoCreateTopicEnable,手动创建Topic即可。
http://www.jsqmd.com/news/763494/

相关文章:

  • 2026年江苏磨粉设备采购完全指南:源头厂家直达方案与避坑手册 - 年度推荐企业名录
  • Grasscutter Tools:终极原神私服管理工具完整指南
  • TRAAC:动态压缩注意力机制提升深度学习推理效率
  • Node.js京东自动下单工具完整指南:告别手动抢购烦恼
  • AI语音助手评估框架VoiceAssistant-Eval解析
  • C 语言实战:手把手教你用纯 C 编写经典贪吃蛇游戏(一)
  • 三步轻松搞定QQ音乐加密文件:qmcdump解码工具终极指南
  • 住郊区怕没人管?济南福正美周边县区两小时到 - 福正美黄金回收
  • 2026年佛山性价比高的实惠门头长城板究竟哪家强? - 品牌企业推荐师(官方)
  • 如何用Python工具突破百度网盘限速?这3个核心技巧让你下载速度提升50倍!
  • 娱乐圈天降紫微星不靠捧,海棠山铁哥复刻历史帝王草根崛起
  • 构建你的个人数字图书馆:novel-downloader小说下载器完全指南
  • AIaC实践指南:用自然语言生成代码与配置,提升DevOps效率
  • Android编译系统深度解析:mk和bp文件原理与实践指南
  • 缠论技术分析革命:通达信Indicator插件如何将复杂理论转化为3分钟可视化决策
  • 别再死记硬背了!用Multisim仿真,5分钟搞懂-3dB和截止频率的底层联系
  • 2026军考培训机构测评:基层战士碎片化时间如何高效提分 - 品牌企业推荐师(官方)
  • 观察 Taotoken 路由能力对 API 调用稳定性和延迟的实际影响
  • 观察通过taotoken调用大模型api的延迟与稳定性表现
  • Cursor Pro破解工具:3步实现AI编程助手永久免费使用终极指南
  • 对比直接使用原厂 API 体验 Taotoken 在路由容灾上的实际价值
  • 如何在15分钟内为Unity游戏安装插件:MelonLoader全面指南
  • 保姆级教程:在Firefly ROC-RK3568-PC上搞定双目摄像头(OV02K10+OV9281)的完整配置流程
  • 为什么90%的人都用错了网盘?八大平台直链下载的终极解决方案
  • AI大模型评测体系2026年5月演进-基准测试的军备竞赛
  • Xournal++ 5分钟精通:跨平台手写笔记与PDF批注终极指南
  • 手把手拆解Vulnhub Noob靶机:用Kali工具链玩转FTP、HTTP与SSH端口
  • HTF高温消防排烟风机型号及特点详解
  • 嵌入式 Linux V4L2 摄像头采集编程(MMAP 方式)(四)—— 从零到一,含全部宏详解与框架图
  • Windows更新卡住怎么办?3分钟快速修复终极指南