Windows下安装部署RocketMQ

Windows下安装部署RocketMQ

    • 引言
    • 下载安装rocketmq
    • 配置环境变量
    • 启动NameServer
    • 启动Broker
    • rocketmq控制台[rocketmq-dashboard](https://github.com/apache/rocketmq-dashboard)安装及配置
    • 修改rocketmq记录日志地址
    • 设置namesrv、broker堆栈内存
    • RocketMQ注册为Windows服务
      • start.bat文件准备
      • nssm软件下载安装
      • 启动服务

引言

RocketMQ

Apache RocketMQ是分布式和低延迟消息和流处理平台,性能和可靠性高,trillion-level(万亿级)能力和灵活的可扩展性。它由四个部分组成:

消息生产者(Producer):负责生产消息,一般由业务系统负责生产消息。一个消息生产者会把业务应用系统里产生的消息发送到broker服务器。RocketMQ提供多种发送方式,同步发送异步发送顺序发送单向发送。同步和异步方式均需要Broker返回确认信息,单向发送不需要。

消息消费者(Consumer):负责消费消息,一般是后台系统负责异步消费。一个消息消费者会从Broker服务器拉取消息、并将其提供给应用程序。从用户应用的角度而言提供了两种消费形式:拉取式消费推动式消费

代理服务器(Broker Server):消息中转角色,负责存储消息、转发消息。代理服务器在RocketMQ系统中负责接收从生产者发送来的消息并存储、同时为消费者的拉取请求作准备。代理服务器也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。

名字服务(Name Server):名称服务充当路由消息的提供者。生产者或消费者能够通过名字服务查找各主题相应的Broker IP列表。多个Namesrv实例组成集群,但相互独立,没有信息交换。

相关网址:

  • 官网:https://rocketmq.apache.org/
  • 下载地址:https://rocketmq.apache.org/download
  • 文档地址:https://rocketmq.apache.org/zh/docs/
  • github地址:https://github.com/apache/rocketmq

下载安装rocketmq

目前(2024.09)最新版本是5.3.0,点击下载RocketMQ
在这里插入图片描述

下载完后解压到自定义目录,MQ解压路径D:\developer\rocketmq-all-5.3.0-bin-release;(Windows10系统解压路径不要出现空格)
在这里插入图片描述

配置环境变量

配置环境变量,变量名:ROCKETMQ_HOME 变量值:D:\developer\rocketmq-all-5.3.0-bin-release;另外path后追加 %ROCKETMQ_HOME%\bin
在这里插入图片描述

启动NameServer

在安装目录bin文件夹下cmd,然后执行start mqnamesrv.cmd,启动NAMESERVER。成功后会弹出提示框,此框勿关闭;

或直接双击mqnamesrv.cmd运行
在这里插入图片描述

启动Broker

同理在安装目录bin文件夹下cmd

输入:start mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true

可能会执行报错:

错误: 找不到或无法加载主类 .;D:\developer\softwaredetail\Java\jdk1.8.0_171\lib;D:\developer\softwaredetail\Java\jdk1.8.0_171\lib\tools.jar

执行如下命令:

set CLASSPATH=%ROCKETMQ_HOME%\lib\*;%ROCKETMQ_HOME%\conf

上面是临时生效,在CLASSPATH中配置重启依然有效:
在这里插入图片描述

再次执行 start mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true可以正常启动:
在这里插入图片描述

启动后窗口都不要关闭。也可以看设置服务启动。

rocketmq控制台rocketmq-dashboard安装及配置

https://github.com/apache/rocketmq-dashboard
在这里插入图片描述

下载之后进行解压。

我的目录:D:\developer\rocketmq-dashboard-rocketmq-dashboard-1.0.0
在这里插入图片描述

下载下来的控制台服务端口,默认为8080,可在yml文件中进行修改端口号,我改成了8888

进入目录 在当前打开打开cmd命令窗口:

执行打包:

mvn clean package -Dmaven.test.skip=true

目录下生成target文件夹,并在target目录下生成 rocketmq-dashboard-1.0.0.jar 包。
在这里插入图片描述

通过以下命令启动控制台服务:

java -jar target/rocketmq-dashboard-1.0.0.jar

通过链接: 访问控制台。

如果出现如下报错:

org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to null failed

解决办法:

  • Linux环境:

进入rocketmq目录,修改配置:

conf/broker.conf

在最下添加配置信息

namesrvAddr={公网IP}:{端口号}brokerIP1={公网IP}

在这里插入图片描述

然后保存,再关闭掉 rocketmq的 broker 服务,然后再重启broker服务,在重启的时候指定这个配置文件即可

nohup bin/mqbroker -c conf/broker.conf &

可以在可视化工具就能查看修改是否成功。

  • window环境
    在这里插入图片描述

在控制台配置文件中指定namesrv地址即可。

修改rocketmq记录日志地址

namesrv和broker默认日志存储在C盘,空间占用量大,需修改下默认存储路径。

在RocketMQ安装目录下找到conf文件夹(D:\developer\rocketmq-all-5.3.0-bin-release\conf),

编辑rmq.broker.logback.xml文件和rmq.namesrv.logback.xml文件

两份文件都需增加property标签, 把user.home全局替换为log.path

<property name="log.path" value="D:/logs/rocketmq" />

在这里插入图片描述
在这里插入图片描述

设置namesrv、broker堆栈内存

给namesrv和broker分配内存(根据服务器性能和数据量自定义分配内存,我本地测试同意调整成512m避免太大占用系统空间影响其他操作)
在RocketMQ安装目录下找到bin文件夹(D:\developer\rocketmq-all-5.3.0-bin-release\bin),编辑runserver.cmd文件和runbroker.cmd文件

如runbroker.cmd,由2g修改成512m,同时需关注是否配置了jdk环境变量 CLASSPATH
在这里插入图片描述

RocketMQ注册为Windows服务

start.bat文件准备

在rocketMQ安装目录下创建start.bat文件。

文件内容如下(可自行加或对应改变):

start mqnamesrv.cmd
set CLASSPATH=%ROCKETMQ_HOME%\lib\*;%ROCKETMQ_HOME%\conf
start mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
java -jar .\console\rocketmq-dashboard-1.0.1-SNAPSHOT.jar

把之前打包好的控制台jar文件也移动到bin目录下:
在这里插入图片描述

nssm软件下载安装

下载地址:NSSM - the Non-Sucking Service Manager
在这里插入图片描述

解压安装包再根据自己电脑系统的位数进入目录,在目录处进入windows 命令窗口或直接cmd 到指定的解压目录下执行命令:nssm install RocketMQ (可以先nssm 查询所有命令,install 后面是自己取的服务名称)

执行nssm install xxx 会弹出以下窗口:
在这里插入图片描述

点击install service注册为服务;

启动服务

win+R快捷键,键入 services.msc

找到自己取名的服务名称启动,也可设置启动类型,之后本地电脑就可以不用每次打那边的命令或单独再启动工具项目了,这样启动效率高很多。
在这里插入图片描述

本文内容到此结束了,
如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。
如有错误❌疑问💬欢迎各位指出。
主页:共饮一杯无的博客汇总👨‍💻

保持热爱,奔赴下一场山海。🏃🏃🏃

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

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

相关文章

pod基本概念

一 、Pod Pod 是 kubernetes 基本调度单位。每个 Pod 中可以运 行一个或多个容器&#xff0c;共享 Pod 的文件系统、IP 和网络等 资源&#xff0c;每个 Pod 只有一个 IP。 1. 创建 Pod 声明式文件方式创建 Pod&#xff0c;支持 yaml 和 json 创建 pod 测试访问 2. 更改 Pod 的…

解决phpstudy无法启动MySQL服务

三种方法 如果说你在小皮里面&#xff0c;启动mysql&#xff0c;发现启动不了&#xff0c;而且你在你自己电脑本地有装过mysql服务&#xff0c;那么可以按照我下面的不走来&#xff0c;按顺序试验1&#xff0c;2&#xff0c;3,三个里面肯定有一个是可以解决的 1.停止本地的mysq…

EasyExcel 快速入门

目录 一、 EasyExcel简介 官网链接&#xff1a; 代码链接&#xff1a; 二、 EasyExcel快速上手 引入依赖&#xff1a; 设置Excel相关注解 编写对应的监听类&#xff1a; 简单写入数据&#xff1a; 简单读取数据&#xff1a; 不需要使用监听器&#xff1a; 需要使…

视频工具EasyDarwin将本地视频生成RTSP给WVP拉流列表

效果 ffmpeg生成rtsp流 EasyDarwin的rtsp端口默认的是10054, 使用ffmpeg将本地视频转到EasyDarwin的rtsp。 F:\rtsp\ffmpeg-7.0.2-essentials_build\bin>ffmpeg -re -i F:\rtsp\123.mp4 -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://127.0.0.1:10054/video11 它的直播…

Yocto - 使用Yocto开发嵌入式Linux系统_01 前言

Embedded Linux Development Using Yocto Project: Leverage the power of the Yocto Project to build efficient Linux-based products, Third Edition By: Otavio Salvador, Daiane Angolini Overview of this book Yocto 项目是开发可靠的嵌入式 Linux 项目的行业标准。与…

【网络安全】-文件包含漏洞-pikachu

文件操作漏洞包括文件上传漏洞&#xff0c;文件包含漏洞&#xff0c;文件下载漏洞。 文章目录 前言 : 什么是文件包含漏洞&#xff1f; 1.文件包含漏洞的分类&#xff1a; 本地文件包含漏洞&#xff1a; 远程文件包含漏洞&#xff1a; 2.两种文件包含漏洞的区别&#xff1a; 3.…

【资料分析】刷题日记2

第一套 √ 2013-2016一共有13&#xff0c;14&#xff0c;15&#xff0c;16四年&#xff0c;亦即16 - 13 1 4年 √ 是多少倍 ③vs④&#xff1a;都是只给出了年均增速&#xff0c;③求的是其中一年的&#xff0c;无法确定&#xff1b;④求的是这个时段总共的&#xff0c;可…

Leetcode 93-复原 IP 地址

有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址&#xff0c;但是 “0.011.255.245”、“192.168.…

O1-preview:智能预测与预取驱动的性能优化处理器设计OPEN AI

# 创作不易&#xff0c;您的打赏、关注、点赞、收藏和转发是我坚持下去的动力&#xff01; O1-preview 是一种用于性能优化的处理器设计原理&#xff0c;主要通过智能预测和数据预取来提升处理器的执行效率。以下是对 O1-preview 原理的详细介绍&#xff0c;以及它相对于以往的…

腾讯音乐 2024乐圃音乐空间夏令营:以音乐传递爱,点亮公益之光

8 月 25 日晚&#xff0c;在四川北川&#xff0c;一场充满无尽 “乐” 趣的结营音乐会&#xff0c;为 2024 年乐圃音乐空间夏令营画上了完美的句号。这个由腾讯音乐娱乐集团&#xff08;Tencent Music Entertainment Group&#xff0c;以下简称 “TME”&#xff09;旗下腾讯音乐…

上架谷歌安卓APP完整图文流程

本节包含以下内容&#xff1a; 第一步&#xff1a;登录Google play开发者后台第二步&#xff1a;创建应用第三步&#xff1a;设置应用第四步&#xff1a;开启通知第五步&#xff1a;发布应用第六步&#xff1a;查看审核结果第七步&#xff1a;配置app支付参数第八步&#xff1…

论文速递!时序预测!DCSDNet:双卷积季节性分解网络,应用于天然气消费预测过程

本期推文将介绍一种新的时序预测方法:双卷积季节性分解网络&#xff08;Dual Convolution withSeasonal Decomposition Network, DCSDNet&#xff09;在天然气消费预测的应用&#xff0c;这项研究发表于《Applied Energy》期刊。 针对天然气消费的多重季节性和非规律性&#x…

C++ —— 关于vector

目录 链接 1. vector的定义 2. vector的构造 3. vector 的遍历 4. vector 的扩容机制 5. vector 的空间接口 5.1 resize 接口 5.2 push_back 5.3 insert 5.4 erase 5.5 流插入与流提取 vector 并不支持流插入与流提取&#xff0c;但是可以自己设计&#xff0c;更…

二进制补码及与原码的互相转换方法-成都仪器定制

大沙把一些基础的知识说清楚&#xff0c;本文介绍二进制补码及与原码的转换方法。 先说原码&#xff0c;原码‌是一种计算机中对数字的二进制定点表示方法。在原码表示法中&#xff0c;数值前面增加了一位符号位&#xff0c;最高位为符号位&#xff0c;0表示正数&#xff0c;1表…

SPI接口通信协议浅谈成都自动化开发

沙鸥-成都 1 什么是SPI SPI是串口外设接口的缩写&#xff0c;是一种高速的、全双工、同步的通信协议&#xff0c;是微处理器与外围IC之间常用的一种通讯方式。 SPI是主从式的通信协议&#xff0c;可以一主机一从机通信&#xff0c;也可以一主机多从机通信。 2 SPI的优缺点 SPI接…

模版进阶(template)

1.非类型模版参数 模版参数分类类型形参与非类型形参。 ① 类型形参&#xff1a;出现在在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。 ② 非类型形参&#xff0c;就是用一个常量作为类(函数)模板的一个参数&#xff0c;在类(函数)模板中可将该参数当…

Leetcode Hot 100刷题记录 -Day14(矩阵置0)

矩阵置0 问题描述&#xff1a; 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&#xff1a;…

sqli-labs靶场搭建

下载了一个phpstudy进行搭靶场搭建 然后打开phpstudy安装好php,mysql等环境 正式sqli-labs靶场搭建 第一步&#xff1a;下载源码&#xff1a;https://codeload.github.com/Audi-1/sqli-labs/zip/master 解压后放进网站根目录&#xff0c;进到 sqli-labs的文件夹下&#xff0…

[2025]医院健康陪诊系统(源码+定制+服务)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

二叉树的链式结构和递归程序的递归流程图

二叉树的链式存储结构是指&#xff0c;用链表来表示一棵二叉树&#xff0c;即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成&#xff0c;数据域和左右指针域&#xff0c;左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。链式结构又分…