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的日志保存路径。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
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
随机推荐
- 查看系统网络连接打开端口、系统进程、DOS打开文件的命令
- KnockoutJS 3.X API 第四章之数据控制流component绑定
- 深入学习iOS7自定义导航转场动画
- 在Linux下安装Oracle
- Oracle的默认用户密码
- js禁止document element对象选中文本实现代码
- php字符串过滤与替换小结
- 关于PHP 如何用 curl 读取 HTTP chunked 数据
- android 为应用程序创建桌面快捷方式技巧分享
- 浅析Docker镜像分层的注意事项
- 布同 统计英文单词的个数的python代码
- Python处理JSON时的值报错及编码报错的两则解决实录
- JS模拟酷狗音乐播放器收缩折叠关闭效果代码
- windows2003 DNS服务器配置(图文详解)
- JavaScript中函数声明优先于变量声明的实例分析
- jQuery UI Bootstrap是什么?
- Java嵌套类和内部类详解
- php 函数使用方法与函数定义方法
- Python处理文本换行符实例代码
- JavaScript累加、迭代、穷举、递归等常用算法实例小结