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

 更新时间:2021年07月03日 11:02:05   作者:qq_35251168  
这篇文章主要介绍了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文件配置日志的(有需要的朋友也可以私聊我要解决方案)

2.找到ClientLogger类

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

3.找到MessageStoreConfig类

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

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

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

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

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

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

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

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

6.进入conf文件夹

修改这三个xml的日志保存路径。

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

相关文章

  • Java中IO流 字节流实例详解

    Java中IO流 字节流实例详解

    这篇文章主要介绍了Java中IO流 字节流实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • SpringMVC如何把后台文件打印到前台

    SpringMVC如何把后台文件打印到前台

    这篇文章主要介绍了SpringMVC如何把后台文件打印到前台,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • java 获取当前函数名的实现代码

    java 获取当前函数名的实现代码

    以下是对使用java获取当前函数名的实现代码进行了介绍。需要的朋友可以过来参考下
    2013-08-08
  • 关于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服务传输的问题

    关于springboot 中使用httpclient或RestTemplate做MultipartFile

    这篇文章主要介绍了关于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服务传输的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • IDEA2020.1个性化设置的实现

    IDEA2020.1个性化设置的实现

    这篇文章主要介绍了IDEA2020.1个性化设置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 完全解析Java编程中finally语句的执行原理

    完全解析Java编程中finally语句的执行原理

    这篇文章主要深度介绍了Java编程中finally语句的执行原理,细致讲解了finally在异常处理中的流程控制作用,需要的朋友可以参考下
    2015-11-11
  • Java编程获取当前屏幕分辨率的方法示例

    Java编程获取当前屏幕分辨率的方法示例

    这篇文章主要介绍了Java编程获取当前屏幕分辨率的方法,涉及java针对系统硬件信息的相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • java和jsp中的request使用示例

    java和jsp中的request使用示例

    这篇文章主要介绍了java和jsp中的request使用示例,需要的朋友可以参考下
    2014-02-02
  • 基于XML的MyBatis的环境搭建过程详解(IDEA)

    基于XML的MyBatis的环境搭建过程详解(IDEA)

    这篇文章主要介绍了基于XML的MyBatis的环境搭建过程详解(IDEA),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • SpringBoot+WebSocket搭建简单的多人聊天系统

    SpringBoot+WebSocket搭建简单的多人聊天系统

    WebSocket是一种在单个TCP连接上进行全双工通信的协议。这是一种比较官方的说法,简单点来说就是,在一次TCP连接中,通信的双方可以相互通信。这篇文章主要介绍了SpringBoot+WebSocket搭建简单的多人聊天系统,需要的朋友可以参考下
    2019-10-10

最新评论