RocketMQ 在Windows下安装,附常见问题

QuickStart

我的学习环境是 windows 环境,以下所有环境配置均为 windows10。

在初次安装时遇到不少问题,最终解决后将解决方案记录下来。

下载及解压

官网:https://rocketmq.apache.org/dowloading/releases/

下载 bin-realease.zip,解压到一个文件夹下即可,

目前使用 4.9.0

配置环境变量

ROCKETMQ_HOME="D:\rocketmq"
NAMESRV_ADDR="localhost:9876"

修改配置文件

内存分配

如果电脑运行内存不够的话,进入 bin 目录修改 runbroker.cmdrunserver.cmd 启动时的运行内存,注释原来的内存分配,自己在底下加上一行内存分配设置

runbroker.cmd

rem set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g"
set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx512m"

runserver.cmd

rem set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx512m"

日志存储位置

打开 logback_broker.xmllogback_namesrv.xmllogback_tools.xml

<configuration> 后添加一段代码

<confuguration>
    <!-- 添加的代码, 将 value 修改为 log存储位置的根目录 -->
	<property name="LOG_HOME" value="D:/environment/rocketmq-all-4.9.0" />
    ...... 原有内容
</confuguration>

然后将文件中 ${user.home} 替换为 ${LOG_HOME}

broker配置

broker 默认将缓存存储在 c盘当中,如果你的 c盘空间不足(准确的说是剩余空间不足 25%),broker就会认为磁盘空间不足,无法产生和消费消息,此时broker处于阻塞状态,无法进行服务,因此要更改 broker 缓存位置。 这种设置仅限于测试环境使用,开发环境应根据需要调整

进入 conf/broker.conf

# 检测物理文件磁盘空间, 已使用 99% 时才报错
diskMaxUsedSpaceRatio=99
# 存储路径
storePathRootDir=D:/environment/rocketmq-all-4.9.0/logs/store
# commitLog 存储路径
storePathCommitLog=D:/environment/rocketmq-all-4.9.0/logs/store/commitlog
# 消费队列存储路径
storePathConsumeQueue=D:/environment/rocketmq-all-4.9.0/logs/store/consumequeue
# 消息索引存储路径
storePathIndex=D:/environment/rocketmq-all-4.9.0/logs/store/index
# checkpoint 文件存储路径
storeCheckpoint=D:/environment/rocketmq-all-4.9.0/logs/store/checkpoint
# abort 文件存储路径
abortFile=D:/environment/rocketmq-all-4.9.0/logs/store/abort

开始使用

启动 nameServer

打开命令行窗口,转到安装目录下

.\bin\mqnamesrv.cmd

看见 The Name Server boot success. serializeType=JSON 即为启动成功

启动 broker

此处与官网不同,我们需要指定 NameServer ip地址,同时指定我们之前修改过的配置文件。
在新的命令行窗口输入以下内容

start .\bin\mqbroker.cmd -n 127.0.0.1:9876 -c .\conf\broker.conf autoCreateTopicEnable=true

看见 The broker[broker-a, 192.168.56.1:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876 即为启动成功

启动 Consumer

在新的命令行窗口输入以下内容

.\bin\tools.cmd  org.apache.rocketmq.example.quickstart.Consumer

看见 Consumer Started. 即为启动成功

启动 Producer

在新的命令行窗口输入以下内容

.\bin\tools.cmd  org.apache.rocketmq.example.quickstart.Producer

开始发送消息即为启动成功,该样例会发送1000条消息,发送消息结束后自动退出。
转到 Consumer 窗口,即可看到 Consumer 消费了数据。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值