RocketMQ4.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的日志保存路径。

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

(0)

相关推荐

  • springBoot整合RocketMQ及坑的示例代码

    版本: JDK:1.8 springBoot:1.5.10 rocketMQ:4.2.0 pom 配置: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> </parent> <d

  • Window搭建部署RocketMQ步骤详解

    序 以前简单用过ActiveMQ但是公司项目上使用的是RocketMQ,所以准备多花点时间在这上面,搞懂项目的配置使用. 看了很多资料,先说说我自己对RocketMQ的简单理解.不管是我们写的消费者还是生产者都属于客户端,而我们需要安装RocketMQ,这是属于服务端.和ActivieMQ.zookeeper类似,消费者.生成者.服务端(NameServer)之间是采取观察者模式实现. 在操作系统上安装RocketMQ,启动服务端NameServer.启动Broker,书写Consumer代码,

  • Springboot RocketMq实现过程详解

    首先,在虚拟机上安装rocketmq和rocketMq可视化控制,安装不做描述. 1.pom.xml文件添加依赖 mq的版本与连接的rocketmq版本保持一致 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-remoting</artifactId> <version>4.4.0</version> </depende

  • RocketMq事务消息发送代码流程详解

    一.RocketMq事务消息流程: 1.首先会向broker发送一个预请求消息,消费者不可见 2.回调执行本地事务(比如操作数据库) 3.事务执行成功后,再次发送消息给broker,告诉broker事务执行成功这个消息要提交,让消费者可见.如果本地事务执行超时,会返回一个unknow,broker会发送一个消息回查,检查消息是否执行成功. 二.RocketMq事务消息实例: 1.引入rocketMq相关的依赖: <dependency> <groupId>org.apache.ro

  • RocketMQ4.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. 这

  • Spring实现动态修改时间参数并手动开启关停操作

    spring实现定时任务的方式有三种,分别是java自带的timer类.spring task和quartz三种. 本文只介绍spring自带的task和第三方quartz.spirng task可以将它比作一个轻量级的Quartz,使用起来非常简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种.接着直接演示spring task注解实现方式. 首先,创建任务类,如下: @Component public class MyScheduler { int i =0; publ

  • linux系统中修改tomcat默认输入日志路径的方法

    1.修改catalina.sh 进入tomcat安装目录/bin,找到catalina.sh,先进行备份. 对本地的catalina.sh进行修改,这里是以将日志目录修改为/data/logs为例,即将$CATALINA_BASE/logs/catalina.out改为CATALINA_OUT=/data/logs. 2.修改logging.properties 进入tomcat安装目录/conf/,找到logging.properties,先进行备份. 对本地的logging.properti

  • 修改vue+webpack run build的路径方法

    vue项目用webpack打包想要修改静态资源路径等,找到项目根目录下的config文件夹,打开该文件夹下的index.js文件,默认如下: // see http://vuejs-templates.github.io/webpack for documentation. var path = require('path') module.exports = { build: { env: require('./prod.env'), index: path.resolve(__dirname

  • python批量修改图片尺寸,并保存指定路径的实现方法

    如下所示: import os from PIL import Image filename = os.listdir("D:\\Work\\process\\样本处理\\polyu-all-train") base_dir = "D:\\Work\\process\\样本处理\\polyu-all-train\\" new_dir = "D:\\Work\\process\\样本处理\\polyu\\" size_m = 128 size_n

  • 修改npm全局安装模式的路径方法

    在正式写此文章之前,我得说一点血泪史. 刚学nodeJS不久,很纳闷为什么全局安装的模块在 'node安装目录/node_modules' 中没找到!后来仔细看了下安装成功后的信息,才发现原来是自动安装在C盘了,天啊,C盘肯定不能来放这些东西的啦,于是呢就上网百度了一下. 方法一:(百度到的,不过对我无效....) 打开 'nodejs安装目录/node_modules/npm/.npmrc' ,修改此文件为: prefix = G:\nodejs\npm_global_modules 好了,试

  • Linux 6 修改ssh默认远程端口号的操作步骤

    linux 默认的ssh远程端口是22,有时默认端口会遭到别有用心的人们扫描或攻击,为了时我们的系统更加安全那就需要修改远程端口号 操作步骤: 1.修改ssh_config配置文件 vim /etc/ssh/sshd_config 2.配置文件中找到#Port 22所在行(默认22端口) 3.修改该行,改为你想要的端口号 Port 222(注意:去掉前面的#号) 4.[可选]如果想添加一个端口号并存(22端口和222端口同时生效) Port 22(注意:前面无#号) Port 222(注意:前面

  • 修改Android Studio 的 Logcat 缓冲区大小操作

    找到 Android Studio的安装目录\bin\idea.properties 文件 将文件中的idea.cycle.buffer.size=1024 改成 例如: idea.cycle.buffer.size=102400 另一个设置方式是: 补充知识:logcat 设置缓存区 设置buff logcat 的buff 有2种分配方式,一种是在kernel的,一种是logd, MM用的是在logd的这种的 system/core/liblog/Android.mk ifneq ($(TAR

  • 修改Vue打包后的默认文件名操作

    一,问题 因为我想在我的服务器上部署两个vue项目,但是vue打包后默认的项目名是dist,这样子就跟我上一个vue项目冲突了.因此查了一下资料. 二,解决方案 进入config ⇒ index.js,在build中将dist关键字改成其他名称即可. 补充知识:vue 打包后文件命名 在 confige文件中的 index 以上这篇修改Vue打包后的默认文件名操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • vue 修改 data 数据问题并实时显示操作

    首先,定义一个变量: (以下以本人写的为例) 首先定义一个变量: 然后,给变量赋值: 如果想要修改数据,主要代码如下: 然后界面上要记得绑定数据id: 就Ok了. 补充知识:vue data中数组以及对象 属性改变时不能及时反馈到视图中问题的解决方式 1.vue 对数组更新检测 的机制又很明确的说明: 变异方法:Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新. 这些方法如下: push() pop() shift() unshift() splice() sort() rever

随机推荐