RocketMQ 环境搭建

news2025/1/11 20:40:27

环境:linux(centos) 或 windos; jdk 1.8
场景:rocket入门学习
时间:2023-04-20
吐槽:可能是本人学习能力不足,想使用docker搭建rocketmq 一直失败,可能是我想使用的比较新的 apache/rocketmq:4.9.4 (5.x 架构有所调整,和学习视频有出入所以没有考虑)

一、学习视频推荐

入门:4天学会RocketMQ、【千锋教育】RocketMQ全套视频教程
深入:【尚硅谷】RocketMQ教程

二丶提一下docker 安装 RocketMq

docker搭建文章推荐:

  • 使用docker安装RocketMQ
  • docker安装rocketMQ并测试
  • RocketMq 4.9.4 Windows-docker 部署
  • 使用Docker集群搭建RocketMQ

常见的镜像: rocketmqinc/rocketmq、foxiswho/rocketmq、apache/rocketmq 【前两种已经一年多没更新了】

有几个注意点(虽然没成功,但是也踩坑了):

  1. 使用不同的镜像文件或者不同版本时,日志所在的文件目录不同,目录挂载的时候注意(-v操作)
  2. pangliang/rocketmq-console-ng(rocket web界面)已经过时,并且Topic “主题”栏目没有"ADD/UPDATE"操作;
    在这里插入图片描述

三、手动搭建

前提:JDK 1.8环境已经配置好

参考文章:https://blog.csdn.net/qq_18831023/article/details/105353469、http://zx.lexiangba.net/2689006.html

1.下载文件

地址:https://rocketmq.apache.org/release-notes/
在这里插入图片描述

wget https://dist.apache.org/repos/dist/release/rocketmq/4.9.5/rocketmq-all-4.9.5-bin-release.zip

2.解压并重命名

unzip rocketmq-all-4.9.5-bin-release.zip

mv rocketmq-all-4.9.5-bin-release rocketmq-4.9.5

3.创建nameserver配置(可选操作:修改端口)

# vim nameserver.properties
# 内容(默认端口:9876)
listenPort=20908

4.修改broker配置

# 进入目录
cd rocketmq-4.9.5/conf

# 修改broker配置(更多可参考这篇文章:https://blog.csdn.net/sinat_28809019/article/details/118637628)
vi conf/broker.conf 

# 在后面添加如下内容
#mq集群名称
brokerClusterName=DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName=broker-a
#0表示Master,大于0表示不同的slave
brokerId=0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen=04
#在磁盘上保留消息的时长,单位是小
fileReservedTime=48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示MasterSlave之间同步数据的机制;
brokerRole=ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType=ASYNC_FLUSH

# Broker 对外服务的监听端口(默认端口:10911)
listenPort=20911
# 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 [默认:false]
autoCreateTopicEnable=true
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
#autoCreateSubscriptionGroup=true
# 设置broker节点所在服务器的ip地址(正式环节,为了”安全“建议用内网地址; 测试或本地建议使用外网地址,因为本地代码无法连接到阿里云内网)
brokerIP1=127.0.0.1
# 设置注册中心服务地址信息(默认9876,此处我做了更改)
namesrvAddr=127.0.0.1:20908
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
# 文件存储根路径
storePathRootDir=/【改自己目录】/store

5.配置日志目录

此时所在目录:xxx/rocketmq-4.9.5/conf

# 我们需要将conf目录下的三个log的xml文件中的${user.home}统一改为/rocketmq-4.9.5/logs
sed -i 's#${user.home}#/【前置目录(可选)】/rocketmq-4.9.5/logs#g' *.xml

6.启动

  • Linux
# 启动nameservice
nohup sh bin/mqnamesrv -c conf/namesrv.properties > ./logs/namesrv.log  2>&1 &

# 启动broker
nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a.properties > ./logs/broker.log  2>&1 &
  • Windows
# 注意修改配置(否则启动报错)
编辑 runbroker.cmd 文件 (https://blog.csdn.net/ProBaiXiaodi/article/details/127428563%CLASSPATH% 改为 "%CLASSPATH%" (加上双引号)

# 错误信息
找不到或无法加载主类 Files\Java\jdk1.8.0_202\bin;C:\Program

# 命令:
./bin/mqnamesrv.cmd -c conf/namesrv.properties
./bin/mqbroker.cmd -c conf/2m-2s-async/broker-a.properties

7.查看服务启动结果(使用jps命令)

在这里插入图片描述

四、控制面板

项目地址:https://github.com/apache/rocketmq-dashboard.git
注意:master分支针对5.x版本、release-1.0.0分支针对4.9x版本

五、最后

建议使用5.x版本,4.9.7应该是最后版本,将于2024年1月停更。下载地址
在这里插入图片描述

时间2023年6月20日,服务遭遇kdevtmpfsi挖矿病毒攻击。初步推测是mq的锅,有两台搭建4.9.5版本MQ的服务器被攻击,致使服务器CPU爆满,引起宕机,其余几台服务器状态良好。
在这里插入图片描述

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

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

相关文章

正排倒排,并不是 MySQL 的排序的全部!

引言 一个悠闲的上午,小航送了我,一袋坚果,他看我吃的正香,慢慢问道:”温哥,mysql的排序,有什么要注意的吗,不就是正排倒排吗?” 我一听他问我的问题,顿感坚…

软件测试简历如何包装?

首先明确的包装简历不等于欺骗,只是把你的最好一面展示出来,给别人一个好的映像;(就相当于相亲,哈哈) 无论如何包装简历,注意简历上的东西一定要会、一定要会、一定要会(面试官一般…

Java框架-Spring

文章目录 1、你了解Spring IOC吗?2、SpringIOC的应用?3、SpringIOC的getBean方法的解析?4、面试题5、你了解Spring AOP吗?6、事务ACID特性7、事务传播 1、你了解Spring IOC吗? IoC(Inversion of control&a…

C++编程启蒙-2——你适合学习编程吗?

英语差,数学孬,照样可以学好编程。但,如果你逻辑思维差,动力能力弱,那么学习编程真的会难上加难。本课用来帮助读者实现对逻辑思维与动手能力的自我判断,并给出了实际测试方案。 英语差,数学孬&…

15个常见的AI绘画网站推荐

无论你是专业的艺术家还是对人工智能绘画感兴趣的普通人,AI绘画网站都可以为你提供新的创作灵感和艺术体验,给艺术界带来更多的创新和可能性。以下是15个常见的AI绘画网站的介绍。 即时 AI 灵感 「即时 AI 灵感」是通过文字描述等方式生成精致图像的AI…

QGIS实现shape、geojson数据的矢量切片教程

能够实现矢量切片的办法有很多,可以使用geoserver,可以使用qgis,当然也可以自己写代码实现。这篇文章我们来介绍一下如何使用qgis完成shape数据的矢量切片。 首先我们还是要准备一份矢量数据。矢量数据的格式是shape文件或者是geojson文件都…

IDEA下载安装与使用

IDEA下载、安装与概述、使用 IDEA全称InteliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具 集成环境:把代码编写、编译、执行、调试等多种功能综合到一起的开发工具 1 IDEA的下载 官网链接&#xf…

第一章 基础算法(二)——高精度,前缀和与差分

文章目录 高精度运算高精度加法高精度减法高精度乘法高精度除法 前缀和二维前缀和 差分二维差分 高精度练习题791. 高精度加法792. 高精度减法793. 高精度乘法794. 高精度除法 前缀和练习题795. 前缀和796. 子矩阵的和 差分练习题797. 差分798. 差分矩阵 高精度运算 两个大数做…

Day37

思维导图 练习 1> 编写一个名为myfirstshell.sh的脚本,它包括以下内容。 a、包含一段注释,列出您的姓名、脚本的名称和编写这个脚本的目的 b、和当前用户说“hello 用户名” c、显示您的机器名 hostname d、显示上一级目录中的所有文件的列表 e、显示…

Git 多账号多仓库配置 SSH

前言 在我们使用 Git 中,有时候会遇到多账号多仓库的情况,比如公司的 GitLab 和 GitHub,以及自己的 GitHub,这时候我们就需要配置多个 SSH 密钥来区分不同的账号和仓库 生成 SSH 密钥 根据你注册仓库的邮箱生成 SSH 密钥&#…

Kubeadm方式搭建K8s集群 1.27.0版本

目录 一、集群规划 二、系统初始化准备(所有节点同步操作) 三、安装并配置cri-docker插件 四、安装kubeadm(所有节点同步操作) 五、初始化集群 六、Node节点添加到集群 七、安装网络组件Calico 八、测试codedns解析可用性 一、集群规划 环境规划…

Qt 定时器

定时器事件---timerEvent 定时器启动 startTimer(); 注意:定时器参数要是全局或者静态变量。 定时器结束 没有结束函数 定时器标志---timerId int timerIdstartTimer(); startTimer()返回定时器标志 需设置为类的成员--类内使用 定时器使用 通过定时器事件…

设计模式介绍

设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式…

JVM体系结构模块

1、类装载器ClassLoader (1)负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定 (2)加…

麻了。。。

同样的初始条件,一个每隔0.05s保存一步数据,一个每隔1.13s保存一步数据。 上面横轴代表时间,纵轴代表Nu。 可以看出其实是不太一样的,一个取平均是24.72,一个是25.34,差距其实有的。 我目前跑算例发现长时间…

【C++】类和对象超全超详细总结(万字详解)

🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🚁 个人主页:不 良 🔥 系列专栏:🛸C 🛹Linux 📕 学习格言:博观而约取&#xff0…

C#视觉检测-模板匹配

前几天一个学员在学习C#与视觉交互时,也不知道视觉可以用来做什么 。下面我们就详细讲讲C# 和视觉交互的相关知识。 C#和Halcon的视觉交互在工业生产和智能制造领域中得到了广泛应用。其中,模板匹配是一种简单但有效的图像处理技术,可以用于检测和定位物…

性能测试压测工具都有哪些?怎么选你知道吗?

目录 普遍存在的问题 工具选型和推荐 软件测试而非测试工具 总结: 普遍存在的问题 聊压测工具之前,先聊一下我面试候选人时问的问题以及在技术交流群经常遇到的一个情况。 面试候选人特别是性能测试岗位,我一般很少问测试工具的问题&…

53 最佳实践-安全最佳实践-虚拟机可信启动

文章目录 53 最佳实践-安全最佳实践-虚拟机可信启动53.1 概述53.2 配置vTPM设备,使能度量启动53.2.1 安装swtpm和libtpms软件53.2.2 虚拟机配置vTPM设备53.2.3 确认度量启动使能成功 53 最佳实践-安全最佳实践-虚拟机可信启动 53.1 概述 可信启动包含度量启动和远…

深入篇【Linux】学习必备:谈gcc/g++使用及原理 + 动静态库介绍 + debug与release模式

深入篇【Linux】学习必备:谈gcc/g是如何完成程序的翻译过程&&动静态库介绍&&debug与release模式 Ⅰ.gcc/g是如何完成程序的翻译过程的?①.预处理(宏替换)②.编译(生成汇编)③.汇编(生成机器可识别代码)④.链接(生成可执行文件) Ⅱ.动态库…