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)

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

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

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

1.去gitbug,搜索RocketMQ,下载RocketMq源码。注意是RocketMQ4.5.2版本,旧版本主要是xml文件配置日志的(有需要的朋友也可以私聊我要解决方案)

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

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

3.对以上两个项目重新maven install,找到rocketmq安装目录的lib目录,这里存放了运行中需要的jar。

把刚刚重新打包的替换掉。

4.因为rq.logdir是自定义的JVM系统属性,所以需要启动mqname,mqbroker的时候就要设置这两个属性。

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

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

5.进入conf文件夹,修改这三个xml的日志保存路径。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值