【RocketMQ笔记01】安装RocketMQ消息队列运行环境

news2024/9/24 5:28:23

这篇文章,主要介绍如何安装RocketMQ消息队列运行环境。

目录

一、RocketMQ消息队列

1.1、下载RocketMQ

1.2、解压安装包

1.3、配置RocketMQ环境变量

1.4、修改启动脚本

1.5、启动RocketMQ

(1)启动NameServer

(2)启动Broker

1.6、测试RocketMQ

(1)发送消息

(2)接收消息


一、RocketMQ消息队列

RocketMQ是基于Java语言开发的,所以安装之前需要确保电脑上已经安装了JDK运行环境。

1.1、下载RocketMQ

两种方式可以获取到RocketMQ的安装包,分别如下所示:

  • 第一种:下载RocketMQ的源代码文件,然后自己通过maven编译打包生成可运行的程序;

源代码下载地址:https://dist.apache.org/repos/dist/release/rocketmq/5.1.4/rocketmq-all-5.1.4-source-release.zip

  • 第二种:直接下载apache官方提供的可运行程序;

可执行程序地址:https://dist.apache.org/repos/dist/release/rocketmq/5.1.4/rocketmq-all-5.1.4-bin-release.zip

1.2、解压安装包

我这里是直接下载的可执行程序,解压安装包之后,目录结构如下所示:

1.3、配置RocketMQ环境变量

解压RocketMQ之后,需要在配置一下系统环境变量,目的是为了启动时候,不报错。变量名称填写:ROCKETMQ_HOME,变量值就是RocketMQ解压后的安装目录

1.4、修改启动脚本

由于RocketMQ的启动脚本存在一些问题,所以我们在运行之前需要自己做一点修改,需要修改两个文件,分别是:

  • 1、修改bin目录下的runserver.cmd文件,将其中的%CLASSPATH%加上双引号。
  • 注意:因为无法直接打开cmd文件,所以先将其文件后缀改成txt,再进行修改,修改完成后,在改成cmd后缀

  • 2、修改bin目录下的runbroker.cmd文件,将其中的%CLASSPATH%加上双引号。

如果不修改会怎么样呢???如果没有修改,那么在启动mqnamesrv和mqbroker的时候,就会提示:错误: 找不到或无法加载主类。

1.5、启动RocketMQ

RocketMQ分别提供了Windows系统和Linux系统下的执行程序,Windows系统中的执行程序以【cmd】结尾,Linux系统中的执行程序以【sh】结尾或者没有文件后缀的,这里我将采用Windows系统中的执行程序启动RocketMQ消息队列服务。

(1)启动NameServer

打开cmd命令行窗口,进入RocketMQ安装目录下的bin目录里面,然后执行下面【mqnamesrv】命令,启动NameServer服务:

如果控制台看见The Name Server boot success.,那就表示nameserver服务启动成功了。

(2)启动Broker

打开cmd命令行窗口,进入到RocketMQ安装目录中的bin目录里面,执行如下命令,启动Broker服务:

# 启动broker服务,参数 -n 表示指定 nameserver的服务地址,多个采用逗号隔开
mqbroker -n localhost:9876

启动成功之后,控制台会输入The broker[xxxx] boot success,这就说明Broker服务启动成功。

到这里,RocketMQ消息队列环境算是启动成功啦,那要如何测试是否真的启动成功了呢???

1.6、测试RocketMQ

前面几个步骤已经搭建好了RocketMQ的运行环境,这里再使用命令测试一下发送和消费消息的功能。

还记得RocketMQ安装目录下,有一个benchmark目录吗?这个目录就是一个基准程序,什么意思呢,就是给你测试用的,这个目录下提供了发送和接收消息的执行命令,直接运行就可以进行测试。

但是,这里只提供了Linux系统下的测试程序,要想在Windows系统下使用,我们还需要自己手动改一下命令。

(1)发送消息

打开cmd命令行窗口,进入RocketMQ安装目录的bin目录里面,执行tools命令,发送消息:

# 设置环境变量,指定nameserver服务地址
set NAMESRV_ADDR="localhost:9876"

# 进入bin目录下,执行如下命令,就可以向RocketMQ发送消息
tools.cmd org.apache.rocketmq.example.quickstart.Producer

执行结果如下所示:

出现上图结果,就表示RocketMQ消息发送成功啦。

(2)接收消息

和发送消息是类似的,打开cmd命令行窗口,执行如下命令:

# 设置环境变量,指定nameserver服务地址
set NAMESRV_ADDR="localhost:9876"

# 进入bin目录下,执行如下命令,就可以从RocketMQ消费消息
tools.cmd org.apache.rocketmq.example.quickstart.Consumer

执行结果如下所示:

到此,安装RocketMQ消息队列运行环境就完成啦。

综上,这篇文章结束了,主要介绍如何安装RocketMQ消息队列运行环境。

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

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

相关文章

【MATLAB】史上最全的17种信号分解+FFT+HHT组合算法全家桶

有意向获取代码,请转文末观看代码获取方式~ 1 【MATLAB】EMD 信号分解算法 EMD 是一种信号分解方法,它将一个信号分解成有限个本质模态函数 (EMD) 的和,每个 EMD 都是具有局部特征的振动模式。EMD 分解的主要步骤如下: 将信号的…

嵌入式开发常见的3个C语言技巧

​1.操作寄存器 在嵌入式开发中,常常要操作寄存器,对寄存器进行写入,读出等等操作。每个寄存器都有自己固有的地址,通过C语言访问这些地址就变得尤为重要。 #define GSTATUS1 (*(volatile unsigned int *)0x560000B0)在这里…

Http---HTTP协议

1. HTTP 协议的介绍 HTTP 协议的全称是(HyperText Transfer Protocol),翻译过来就是超文本传输协议。 超文本是超级文本的缩写,是指超越文本限制或者超链接,比如:图片、音乐、视频、超链接等等都属于超文本。 HTTP 协议的制作者是蒂姆伯纳…

虚继承解决菱形继承的原理

菱形继承的问题,是由多重继承的父类祖先是同一个父类导致的。如下面的情况: 菱形继承,会导致同名成员的二义性问题和数据冗余问题,用下面的代码来测试: class A { public:int _a; }; // class B : public A class B :…

数字化协同在服装行业:监狱服装生产的量身解决方案

内容来自演讲:苗子实 | 北京宜通华瑞科技有限公司 | 产品经理 摘要 这篇文章介绍了宜通世纪子公司北京宜通华瑞在服装行业智能制造方面的业务,以及明道云提供的业务支持。文章提到了服装行业的痛点及解决方案,并详细介绍了优化监狱服装企业的…

智能优化算法应用:基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工蜂鸟算法4.实验参数设定5.算法结果6.…

Jave EE 网络原理之网络层与数据链路层

文章目录 1. 网络层1.1 IP 协议1.1.1 协议头格式1.1.2 地址管理1.1.2.1 认识 IP 地址 1.1.3 路由选择 2. 数据链路层2.1 认识以太网2.1.1 以太网帧格式2.1.2 DNS 应用层协议 1. 网络层 网络层要做的事情,主要是两个方面 地址管理 (制定一系列的规则&am…

Discrete Time Signals and Systems

Discrete Time Signals and Systems 文章目录 Discrete Time Signals and SystemsSignal classificationbasic signalOperation on signalSystem of discrete signalLinear systems and nonlinear systemsCausal and non-causal SystemsTime-varying and time-invariant system…

ripro最新修正升级完美版,无加密无后门无需扩展,修复多处bug

这个应该是目前最完美的ripro开源版了。 最近更新: 2023-12-17 修正了jsdelivr.net被墙导致后台静态资源无法加载的bug(具体表现就是登录后台一直转圈,图标显示不了)。 2023-7-05 修正了几个bug。 2022-12-05 修正了虎皮椒支付…

《C++避坑神器·二十四》简单搞懂json文件的读写之根据键值对读写Json

c11 json解析库nlohmann/json.hpp文件整个代码由一个头文件组成 json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来非常方便。 json.hpp库在文章末尾下载 读写主要有两种方式,第一种根据键值对读写&…

隔壁小孩馋哭了都要问我要的MySQL数据库攻略

1 Mysql数据库 1.1 数据库概念 数据 描述事物的符号记录 包括数字、文字、图形、图像声音、档案记录等 以“记录”形式按统一的格式进行存储 表 将不同的记录组织在一起 用来存储具体数据 数据库 标的合集,是存储数据的仓库 以定的组织方式存储打的相互有…

单片机原理及应用:Keil μVision4和Proteus 8的配置介绍

笔者所在的专业最近开设了单片机课程,对笔者而言,虽然之前有一定的代码基础。但还是第一次面对既要求代码架构又要求电路仿真的领域。为了巩固知识和增强记忆,特此创建了这个专栏,谨以一名非电专业初学者的身份记录和分享知识。 …

【软件工程】可执行文件和数据分离

一、概述 可执行文件和数据分离是一种软件设计策略,旨在将程序代码和程序使用的数据分离存储。这种方法通常用于提高软件的模块化程度和灵活性,以及方便软件的管理和维护。 在可执行文件和数据分离中,程序代码通常以可执行文件的形式存储&a…

.net6使用Sejil可视化日志

(关注博主后,在“粉丝专栏”,可免费阅读此文) 之前介绍了这篇.net 5使用LogDashboard_.net 5logdashboard rootpath-CSDN博客 这篇文章将会更加的简单,最终的效果都是可视化日志。 在程序非常庞大的时候&…

搬运机器人RFID传感器CNS-RFID-01|1S的RS485(MODBUS|HS协议)通讯连接方法

搬运机器人RFID传感器CNS-RFID-01|1S支持RS485通信,可支持RS485(MODBUS RTU)协议、RS485-HS协议,广泛应用于物流仓储,立库 AGV|无人叉车|搬送机器人等领域,常用定位、驻车等,本篇重点介绍CNS-RF…

智能优化算法应用:基于人工兔算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工兔算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工兔算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工兔算法4.实验参数设定5.算法结果6.参考文…

微信小程序列表点击Item回调

5 data-model 中的model可以定义任何字段 需要在event.currentTarget.dataset.model 中的model 对应即可 onClickItem(event:any) {const model event.currentTarget.dataset.model as ContactItem; // 获取传递的参数//const selectedItem this.data.contactItems[index]; …

AIOps在美团的探索与实践——事件管理篇

美团服务运维团队从事前防御、事中处理、事后运营多个阶段探索AIOps在事件管理领域的应用。本文介绍了在各个运维领域中AIOps的赋能场景,详细阐述了每一个运维场景的业务价值以及算法的具体的落地效果。 0 写在最前 1 背景 2 事件管理中AI能力总览 3 AIOps之事件…

网络安全保障领域

计算机与信息系统安全---最主要领域 云计算安全 IaaS、PasS、SaaS(裸机,装好软件的电脑,装好应用的电脑) 存在风险:开源工具、优先访问权、管理权限、数据处、数据隔离、数据恢复、调查支持、长期发展风险 云计算安全关键技术:可信…

案例分析:西门子智能工厂

西门子全球首家原生数字化工厂,以其独特的数字化技术,在虚拟世界中构建了工厂的数字孪生,从而实现了从需求分析、规划设计、施工实施到生产运营全过程的数字化。这一原生数字化工厂的创新之处在于,它开创性地运用了原生数字孪生理…