CentOS7 Docker安装RocketMQ完整教程

目录

前言

环境准备

系统要求

检查Docker状态

创建网络和目录

创建Docker网络

创建数据目录

安装NameServer

启动NameServer容器

参数说明

验证NameServer启动

安装Broker

创建Broker配置文件

启动Broker容器

参数说明

验证Broker启动

安装管理控制台

启动控制台容器

参数说明

访问控制台

验证安装

检查所有容器状态

测试消息发送和接收

进入Broker容器测试

常用操作命令

容器管理

查看日志

进入容器

故障排除

常见问题及解决方案

1. 容器启动失败

2. 无法访问管理控制台

3. 消息发送失败

4. 内存不足

5. 数据持久化问题

总结

关键要点回顾

下一步建议


前言

RocketMQ是阿里开源的一款高性能、高可靠的分布式消息中间件。本教程将手把手教你在CentOS7系统上使用Docker安装RocketMQ,包括NameServer、Broker和管理控制台的完整搭建过程。

环境准备

系统要求

  • CentOS7系统
  • Docker已安装并启动
  • 至少2GB内存
  • 至少5GB磁盘空间

检查Docker状态

# 检查Docker是否正常运行
docker version# 如果Docker未启动,执行以下命令
sudo systemctl start docker
sudo systemctl enable docker

创建网络和目录

创建Docker网络

为了让RocketMQ各个组件能够相互通信,我们需要创建一个自定义网络:

# 创建名为rocketmq的网络
docker network create rocketmq

创建数据目录

在宿主机上创建用于存储RocketMQ数据的目录:

# 创建根目录
sudo mkdir -p /home/rocketmq# 创建各组件的数据目录
sudo mkdir -p /home/rocketmq/namesrv
sudo mkdir -p /home/rocketmq/broker
sudo mkdir -p /home/rocketmq/broker/logs
sudo mkdir -p /home/rocketmq/broker/store# 设置目录权限(重要!)
sudo chmod -R 777 /home/rocketmq

为什么要设置777权限? Docker容器内的进程可能使用不同的用户ID,设置777权限确保容器能够正常读写这些目录。

安装NameServer

NameServer是RocketMQ的注册中心,负责管理Broker的路由信息。

启动NameServer容器

docker run -d \--name rmqnamesrv \--network rocketmq \-p 9876:9876 \-v /home/rocketmq/namesrv:/home/rocketmq/namesrv \-e "MAX_POSSIBLE_HEAP=100000000" \apache/rocketmq:4.9.4 \sh mqnamesrv

参数说明

  • --name rmqnamesrv:容器名称
  • --network rocketmq:使用我们创建的网络
  • -p 9876:9876:端口映射,9876是NameServer默认端口
  • -v /home/rocketmq/namesrv:/home/rocketmq/namesrv:数据卷挂载
  • -e "MAX_POSSIBLE_HEAP=100000000":设置JVM堆内存大小
  • apache/rocketmq:4.9.4:使用的镜像版本
  • sh mqnamesrv:启动NameServer的命令

验证NameServer启动

# 查看容器状态
docker ps | grep rmqnamesrv# 查看容器日志
docker logs rmqnamesrv

如果看到类似"The Name Server boot success"的日志,说明启动成功。

安装Broker

Broker是RocketMQ的核心组件,负责消息的存储和转发。

创建Broker配置文件

首先创建Broker的配置文件:

# 创建配置文件
sudo vi /home/rocketmq/broker/broker.conf

在文件中添加以下内容:

# Broker配置
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=72
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH# 网络配置(重要!)
brokerIP1=你的服务器IP地址
namesrvAddr=rmqnamesrv:9876# 存储配置
storePathRootDir=/home/rocketmq/broker/store
storePathCommitLog=/home/rocketmq/broker/store/commitlog
storePathConsumeQueue=/home/rocketmq/broker/store/consumequeue
storePathIndex=/home/rocketmq/broker/store/index# 其他配置
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true

重要提醒: 请将brokerIP1=你的服务器IP地址</

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91490.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

main函数,常量指针与指针常量,野指针等,void与void的区别

指针&#xff08;续&#xff09; main函数原型 定义 main函数有多种定义格式&#xff0c;main函数也是函数&#xff0c;函数相关的结论对main函数也有效。 main函数的完整写法&#xff1a;int main(int argc, char *argv[]){..}int main(int argc, char **argv){..}扩展写法&am…

Mac m系列芯片安装node14版本使用nvm + Rosetta 2

由于苹果 M 系列芯片&#xff08;包括 M4&#xff09;使用的是 ARM 架构&#xff0c;而 Node.js 14 是在英特尔 x86 架构时代发布的&#xff0c;因此在 M 系列 Mac 上安装 Node.js 14 可能会遇到兼容性问题 解决方法&#xff1a;使用 nvm Rosetta 2右键点击「终端」→「显示简…

前端基础之《Vue(26)—Vue3两种语法范式》

一、选项式1、HTML写法<!-- 跟 Vue 说 Hello World&#xff01; --><script type"module"> import { createApp } from vuecreateApp({data() {return {message: Hello World!}} }).mount(#app) </script><div id"app"><h1>…

题目:BUUCTF之rip(pwn)

网址 BUUCTF在线评测https://buuoj.cn/challenges#rip打开&#xff0c;如图所示 提示&#xff1a;先别启动靶机&#xff0c;靶机可以最后在启动&#xff0c;先分析下载的附件pwn1。 点击下载&#xff0c;下载完成之后&#xff0c;该文件后缀类型改为exe&#xff08;就是将pwn…

el-button长按触发事件(含未响应的解决方案)

参考代码实现按钮长按触发逻辑 <template><el-button mousedown"handleMouseDown" mouseup"handleMouseUp">长按我</el-button> </template>data(){return{isPressed: false,timer: null,}},methods:{handleMouseDown() {this.isP…

List和 ObservableCollection 的区别

1. 变更通知机制​​ ​​ObservableCollection<T>​​ 实现了INotifyCollectionChanged和INotifyPropertyChanged接口&#xff0c;当集合元素被添加、删除、替换或重置时&#xff0c;会自动触发CollectionChanged事件&#xff0c;通知绑定的UI控件更新&#xff08;如WPF…

支付宝沙箱(白屏,用户订单参数错误等)

情况&#xff1a;Laravel项目的line 对接 支付宝沙箱测试 手机网站支付 1&#xff1a;沙箱地址&#xff0c;小到我找不到&#xff1a;沙箱应用 - 开放平台 2&#xff1a;虽然提供了系统密钥&#xff0c;但是只是测API链接的&#xff0c;要沙箱测试转账什么的&#xff0c;得用…

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博评论IP地图可视化分析实现

大家好&#xff0c;我是java1234_小锋老师&#xff0c;最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts)视频教程&#xff0c;持续更新中&#xff0c;计划月底更新完&#xff0c;感谢支持。今天讲解微博评论IP地图可视化分析实现 视频在线地…

【代码随想录】刷题笔记——二叉树篇

目录 144. 二叉树的前序遍历 94. 二叉树的中序遍历 145. 二叉树的后序遍历 102. 二叉树的层序遍历 226. 翻转二叉树 101. 对称二叉树 104. 二叉树的最大深度 111. 二叉树的最小深度 222. 完全二叉树的节点个数 110. 平衡二叉树 257. 二叉树的所有路径 404. 左叶子之…

基于deepseek的文本解析 - 超长文本的md结构化

pdf超长合同或其他超100页非结构化文档&#xff0c;很难全量提交deepseek进行分析&#xff0c;一般需要先进行分割。然而&#xff0c;不管是langchain还是llamaindex提供的文本分割工具&#xff0c;很难直接对非结构化文本进行准确的内容分割&#xff0c;很多原始整体段落被划分…

介绍一个图像修复开源项目,从模糊到清晰仅需1.7秒:HYPIR图像修复技术如何改变数字世界?

文章概要 作为一名长期关注图像处理技术的爱好者&#xff0c;当我第一次接触到HYPIR这一革命性图像修复工具时&#xff0c;我被其惊人的速度和质量所震撼。本文将全面介绍由中国科学院深圳先进技术研究院董超研究员团队研发的HYPIR图像修复大模型&#xff0c;详细解析其核心技术…

基于UDP的SNMP协议

SNMP协议详解 SNMP (Simple Network Management Protocol)&#xff0c;“简单网络管理协议”&#xff0c;是广泛应用于TCP/IP网络中&#xff0c;用于管理和监控网络设备的一种标准协议。它允许网络管理员查询网络设备的状态信息、配置参数、接收故障告警等&#xff0c;从而实现…

3D空间中的变换矩阵

3D 空间中的变换矩阵详解 在 3D 计算机图形学中&#xff0c;所有几何变换都可以通过 44 齐次变换矩阵 来表示。以下详细介绍各种变换矩阵及其原理。 核心变换矩阵 1. 单位矩阵&#xff08;不变变换&#xff09; I[1000010000100001] I \begin{bmatrix} 1 & 0 & 0 &…

长连接(Long Connection)详解

一、长连接基本概念长连接&#xff08;也称为持久连接&#xff09;是指在一个TCP连接上可以连续发送多个HTTP请求/响应&#xff0c;而不是每次通信都建立新的连接。这是HTTP/1.1的默认行为&#xff0c;通过Connection: keep-alive头部实现。二、工作原理1. 传统短连接流程客户端…

【汇总】接口自动化测试 + 持续集成(文末视频演示)

技术栈&#xff1a;java testng httpclient allure fastjson jsonpath poi/yaml log4j 有建议请联系wx&#xff1a;ren168632201 java接口自动化系列(01)&#xff1a;自动化测试框架设计(入门版) java接口自动化系列(02)&#xff1a;测试数据文件设计(excel/yam) java接…

科研快报 |无人机+AI:广东防控基孔热背后的技术革命

Prism Path 科 研 快 报 CS跨学科顶尖期刊论文资讯 -NO.2025001- 人工智能在登革热预防、控制与管理中的作用&#xff1a;一项技术性叙述综述 The role of artificial intelligence for dengue prevention, control, and management: A technical narrative review 期刊…

常见的中间件漏洞

建议&#xff1a;启动下一个环境时&#xff0c;将上一个环境关闭&#xff0c;防止端口冲突和运行卡顿1.TomcatTomcat put方法任意文件写入漏洞Apache Tomcat 7.0.0 - 7.0.79 Apache Tomcat 8.5.19环境&#xff1a;cd vulhub-master/tomcat/CVE-2017-12615 docker-compose up -d…

7寸工业模组 XA070Y2-L01芯显科技详细参数资料

芯显7寸工业液晶屏 XA070Y2-L01 技术规格单 基础信息 项目 参数 制造商 芯显 型号 XA070Y2-L01 显示技术 a-Si TN TFT-LCD 应用场景 车载中控 / 工业HMI 屏幕尺寸 7.0英寸 机械结构 特性 指标 显示区域 152.4 91.44 mm 整机尺寸 165 104.09 9.1 mm 公差范围 0.5 mm 表面处理…

机器学习基础-numpy

一、相关知识点二、例子&#xff1a;import matplotlib.pyplot as plt import numpy as npplt.rcParams[font.sans-serif] [KaiTi] # 使用黑体 plt.rcParams[axes.unicode_minus] False # 解决负号显示问题math np.random.randint(low60,high100,size50) english np.rand…

Cockpit管理服务器

Cockpit 是一个开源工具&#xff0c;通过Web Console管理Linux服务器。部署 Cockpit[rootserver ~ 11:05:26]# yum -y install cockpit​[rootserver ~ 11:30:26]# systemctl enable cockpit.socket --nowCreated symlink from /etc/systemd/system/sockets.target.wants/cockp…