最近给大家安排一波福利,相信大家都听说了程序员做自媒体福利,给大家推荐一下我我自己比较好用的工具,下面是网址,密码关注公众号:舒一笑的架构笔记 回复 自媒体网站福利 获取
《好用的自媒体网站推荐》
RocketMQ的下载方式
官网下载
Github下载
推荐使用官网下载
2.安装环境要求说明
Windows/Linux 64位系统
JDK1.8(64位)
源码安装需要安装Maven 3.2.x
要是需要GPT Plus账号的小伙伴可以联系我~
一、Windows中的安装
1.官网中下载RocketMQ的运行版本
2.解压压缩包到磁盘制定路径
3.配置系统中的环境变量
变量名:ROCKETMQ_HOME
变量值:MQ解压路径\MQ文件夹名(bin目录的上一级即可)
4.启动RocketMQ
首先启动NameServer
在bin目录下执行cmd命令呼出命令框,执行 start mqnamesrv.cmd
然后启动Broker
与上述同样的路径下呼出对话框,执行 start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable = true
解释一下上述命令的含义
你提到的命令用于在 Windows 环境下启动 RocketMQ Broker。以下是对该命令的详细分析:
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
命令解析
-
start
:- 含义:
start
是 Windows 命令提示符中的一个命令,用于启动一个新的命令行窗口并运行后面的命令。 - 作用: 在一个新的命令行窗口中运行
mqbroker.cmd
,确保原始命令提示符窗口不会被占用,这样你可以继续在原始窗口中执行其他命令。
- 含义:
-
mqbroker.cmd
:- 含义:
mqbroker.cmd
是 RocketMQ 的启动脚本文件,通常用于在 Windows 系统上启动 Broker。该脚本通常位于 RocketMQ 安装目录的bin
文件夹中。 - 作用: 启动 RocketMQ Broker 服务。该脚本配置了 Broker 进程的运行环境和初始参数。
- 含义:
-
-n 127.0.0.1:9876
:- 含义:
-n
参数用于指定 NameServer 的地址和端口。127.0.0.1:9876
表示 NameServer 运行在本地机器的127.0.0.1
IP 地址和9876
端口。 - 作用: 告知 Broker 应连接到哪个 NameServer。NameServer 负责管理和提供所有 Broker 的路由信息和元数据。
- 含义:
-
autoCreateTopicEnable=true
:- 含义: 这是一个可选参数,用于配置 Broker 的行为。在 RocketMQ 中,
autoCreateTopicEnable
控制是否允许自动创建主题(Topic)。true
表示启用自动创建。 - 作用: 当该选项设置为
true
时,如果客户端尝试发送消息到一个尚未创建的主题,Broker 会自动创建这个主题。这对于开发和测试环境来说很方便,但在生产环境中通常建议关闭此选项,以防止意外创建无用的主题。 - 如何使用: 在启动 Broker 时,直接在命令中附加此选项来启用或禁用自动创建主题的功能。
- 含义: 这是一个可选参数,用于配置 Broker 的行为。在 RocketMQ 中,
整个命令的作用
该命令在 Windows 系统上启动 RocketMQ Broker,同时连接到本地 NameServer(127.0.0.1:9876
),并允许 Broker 自动创建主题(Topic)。
如何修改和使用
- 修改 NameServer 地址: 如果你的 NameServer 不在本地运行,或者运行在不同的 IP 地址或端口上,需要更改
-n
参数。例如:start mqbroker.cmd -n 192.168.1.100:9876 autoCreateTopicEnable=true
- 启用或禁用自动创建主题: 根据环境要求,设置
autoCreateTopicEnable
为true
(启用)或false
(禁用)。例如:start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=false
总结
这个命令用于在 Windows 上启动 RocketMQ Broker,连接到指定的 NameServer,并启用自动创建主题功能。根据你的实际需求,你可以修改 NameServer 地址和 autoCreateTopicEnable
参数来控制 Broker 的行为。
我想指定配置文件启动:
start mqbroker.cmd -n 127.0.0.1:9876 -c D:\Program_Files\rocketmq-all-5.2.0-bin-release\rocketmq-all-5.2.0-bin-release\conf\broker.conf autoCreateTopicEnable=true
看到上述对话框弹出即完成对RocketMQ的启动。
5.注意事项
启动报错
如果弹出提示框显示"错误: 找不到或无法加载主类 xxxxxx"
找到bin目录下的runbroker.cmd文件打开并修改%CLASSPATH%,加上双引号并重新start
内存不足报错
RocketMQ默认的虚拟机内存较大,启动如果因为内存不足报错则需要编辑bin目录下的runbroker.cmd和runserver.cmd,从而来修改默认的JVM内存大小
runbroker.cmd →对应的是broker的配置
runserver.cmd→对应的是nameServer的配置
查看一下5.1.0版本中runserver.cmd配置文件中,对于JVM默认参数配置是:堆内存控制在2G,新生代控制在1G,元空间初始化128M,最大320M。
笔者电脑配置是32G,所以默认启动没有说明问题,要是你的电脑配置内存没有这个多,可以修改上述JVM参数
将堆内存调整为512M,新生代控制为256M,原始空间不变即可。
修改RocketMQ的存储路径
二、Linux中的安装
1.创建RocketMQ文件夹
使用命令 mkdir RocketMQ
2.上传下载好的运行版本文件并解压
Linux中解压文件的常用命令
使用tar命令解压缩文件
Linux中解压缩文件通常使用tar命令和unzip命令,具体使用哪个命令取决于要解压缩的文件类型。
使用tar命令解压缩.tar和.tar.gz文件。通常,.tar文件是压缩文件而不是压缩包,您需要解压它们以查看其内容。
解压缩.tar文件:
tar -xvf file.tar
解压缩.tar.gz文件:
tar -xjvf file.tar.bz2
解压缩.tar.bz2文件:
tar -xjvf file.tar.bz2
使用unzip命令解压缩文件
使用unzip命令解压缩.zip文件。如果您使用的是GUI界面,也可以通过鼠标右键单击.zip文件并选择“提取”选项来解压缩它。
在使用前需要确保Linux中安装有unzip的命令
使用 sudo yum install unzip 命令进行安装()centos7版本
使用 sudo dnf install unzip 命令进行安装()centos8版本
1.直接cd进入到目标目录,压缩包拖拽进文件目录
2.使用 unzip rocketmq-all-5.1.0-bin-release.zip,解压对应的.zip压缩文件
3.启动RocketMQ
启动NameServer
进入bin目录下,执行 nohup sh mqnamesrv &
可以使用 tail -f ~/logs/rocketmqlogs/namesrv.log 查看日志
报错显示原因是笔者设置的虚拟机Linux内存太小,扩大虚拟机内存后便可以正常启动。
可以使用 ps -ef | grep mqnamesrv 查看启动进程的详细信息
启动Broker
在启动前需要进入bin目录下修改一下配置文件,增加外网地址便于访问。按照自己的需求来,需要哪个便修改哪一个配置文件。
例如修改broker.conf
使用 nohup sh mqbroker -c …/conf/broker.conf -n 192.168.1.18:9876 autoCreateTopicEnable=true & 启动
使用 tail -f ~/logs/rocketmqlogs/broker.log 查看日志,由于堆空间初始值太大也报错
修改堆空间的初始值
通过上述修改,将初始堆内存512M,最大堆内存设置为512M,新生代(Java中用于存储创建对象的部分)设置为256M
修改完成后便可以正常启动以及查看日志
三、源码安装
1.IDEA打开源码
分享一个小技巧,只单独打开pom文件,便可以一步导出整个工程
2.刷新maven下载相关依赖
3.启动nameserv
在启动之前需要配置RocketMQ的环境变量
依次启动这两个启动类
四、控制台安装
1.安装方法
下载完成之后,使用IDEA打开,可以自定义修改启动的端口配置
2.利用maven打包
3.在控制台执行运行
可以在页面看到相对应的单体信息
如果您觉得我所提供的信息对您有帮助,欢迎您点赞、收藏和评论。如果您想要更深入的交流,您可以添加我的微信号,或者关注我的微信公众号。您的支持和鼓励是我持续写作的动力,我期待与您互动并提供更多有价值的信息。