服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作

RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作

2021-09-25 14:08qq_35251168 Java教程

这篇文章主要介绍了RocketMQ 4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

此解决方案是针对window的,因为日志默认保存路径在C盘,linux忽略。

学习RocketMQ过程中,总是出现

com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 14 DESC: service not available now, maybe disk full, CL: 0.87 CQ: 0.87 INDEX: 0.87, maybe your broker machine memory too small.

这个异常。开始的时候上网查了一下扩大mqnamesrv and broker 的运存:

如下图是mqnamesrv的启动文件(runserver.cmd)

RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作

如下图是mqbroker的启动文件(runbroker.cmd)

RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作

我只是发送了几条数据,就报异常了,2G运存不可能承受不了几条数据的,所以考虑硬盘存储问题。

现在开始修改需要更改的日志保存路径

1.去gitbug,搜索RocketMQ,下载RocketMq源码。

注意是RocketMQ4.5.2版本,旧版本主要是xml文件配置日志的(有需要的朋友也可以私聊我要解决方案)

2.找到ClientLogger类

该类配置了发送端服务保存日志的位置,把user.home,更改为rq.logdir。

RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作

3.找到MessageStoreConfig类

该类定义了mqbroker的日志保存路径。同样的把user.home更改为rq.logdir,该路径是主要造成内存不足的问题,初始的时候就占用了2G的内存。

RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作

4.对以上两个项目重新maven install

找到rocketmq安装目录的lib目录,这里存放了运行中需要的jar。

RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作把刚刚重新打包的替换掉。

5.因为rq.logdir是自定义的JVM系统属性

所以需要启动mqname,mqbroker的时候就要设置这两个属性。

进入bin文件夹,编辑runserver.cmd

RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作

runbroker.cms也是同样的操作就不展示了。

6.进入conf文件夹

修改RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作这三个xml的日志保存路径。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_35251168/article/details/99694293

延伸 · 阅读

精彩推荐