RocketMQ4.5.2 修改mqnamesrv 和 mqbroker的日志路径操作
作者:qq_35251168 发布时间:2023-11-28 14:03:18
标签:RocketMQ,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的日志保存路径。
来源:https://blog.csdn.net/qq_35251168/article/details/99694293
0
投稿
猜你喜欢
- Java线程同步属于Java多线程与并发编程的核心点,需要重点掌握,下面我就来详解Java线程同步的4种主要的实现方式什么是Java线程同步
- 示例代码:class BoxIntInteger {public static void main(String[] args) {Inte
- 一、什么是JWTJSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案。现在的项目开发一般都是前端端分离,这就涉及到
- IDEA自动跳出括号并且补全分号(类似eclipse的功能)跳括号外头去ctrl shift enter叫做 Complete Curren
- 非Web程序 1.AppDomain.CurrentDomain.BaseDirectory 2.Environment.CurrentDi
- 新建多国语言包要在android studio项目中新建多国语言包,有两种方式,一种是手动建,一种是用使用android studio辅助建
- 1、官网概括引用官网说法:The Java Virtual Machine defines various run-time data ar
- 本文实例讲述了C#从DataTable获取数据的方法。分享给大家供大家参考。具体如下:通过通用类,返回一个DataTable,要想显示每个单
- 前提概要:上一篇文章已经介绍过了RecyclerView的基本使用方法,原文如下:android RecyclerView布局真的只是那么简
- 前言枚举在java里也算个老生长谈的内容了,每当遇到一组需要类举的数据时我们都会自然而然地使用枚举类型:public enum Color
- 今天看《第一行代码》上面关于拍照和从相册选取图片那一部分,发现始终出不来效果,所以搜索其他资料学习一下相关知识,写一个简单的Demo。&nb
- springboot启动时自动加载application.properties或者application.yml,如何定义自己的配置让spr
- GraalVM安装GraalVM安装安装请前往GraalVM官网 下载 GraalVM Community 22.3,注意当前支持的Spri
- 目录一、ThreadLocal简介二、ThreadLocal简单使用三、ThreadLocal的实现原理1、set方法源码2、get方法源码
- 批量添加,批量更新之前判断是否已经存在批量添加之前判断是否已经存在,foreach separator用UNION ALL。批量
- 一,描写叙述 在多线程下编程的时候。大家可能会遇到一种需求,就是我想在我开启的线程都结束时,同一时候获取
- 挂起和恢复线程 Thread 的API中包含两个被淘汰的方法,它们用于临时挂起和重启某个线程,这些方法已
- 本文实例为大家分享了Android实现一个仿支付宝支付密码的输入框,主要实现如下:PasswordView.javapackage com.
- 本节我们基于一个发表文章的案例来说明SpringBoot如何elasticsearch集成。elasticsearch本身可以是一个独立的服
- 在Material Design里,CoordinatorLayout通常用来作为顶层视图,来协调处理各个子View之间的动作,从而实现各种