记录一下RocketMQ中遇见的 连环大坑!!!差点没把我摔死

news2024/12/21 4:12:13

目录

环境:Win10  , 不是 linux

首先我遇见的第一个问题是:

No route info of this topic

问题原因:

PS: 64位系统环境下,如果软件在安装时安装路径默认c:\progarmfiles即为64位,默认c:\progarmfiles(x86)即为32位应用程序。带(x86)的文件夹是默认用来安装32位软件的。

第二个问题 sendDefaultImpl call timeout、server is busy or broker

 解决方法:

问题三:broker闪退、或者根本起不来

解决办法:

broker.conf 配置参考


环境:Win10  , 不是 linux

网上五花八门的方法几乎都试了一般,最后排除法解决了这些错误,耗时半天多。。因此写下此博客,希望能帮到遇见这些大坑的人

首先我遇见的第一个问题是:

No route info of this topic

org.apache.rocketmq.client.exception.MQClientException: No route info of this topic

(PS:这个坑我专心解决了一个下午,所以忘记截图了。。。)

问题原因:

1、关闭电脑防火墙

2、调整 runbroker.cmd 、 runserver.cmd  运行内存(按需调整,我是测试环境,小点无所谓) 

如下:

runbroker.cmd

runserver.cmd 

3、 端口被占用:RocketMQ中的broker默认使用10911和10909端口,如果这些端口已经被其他应用程序占用,就会导致broker启动失败。

4、配置文件错误:RocketMQ中的broker需要通过配置文件来指定一些参数,如果配置文件中存在错误或者缺少必要的参数,就会导致broker启动失败。

5、内存不足:如果系统内存不足,就会导致broker启动失败。

6、磁盘空间不足:如果磁盘空间不足,就会导致broker无法写入数据,从而导致启动失败。

7、网络问题:如果网络连接不稳定或者存在防火墙等问题,就会导致broker无法正常通信,从而导致启动失败。

8、Java版本问题:RocketMQ需要使用Java 8或以上版本,如果使用了低于Java 8的版本,就会导致启动失败。

9、其他问题:还有一些其他的问题,比如操作系统版本不兼容、文件权限不足等,也可能导致broker启动失败。

PS: 64位系统环境下,如果软件在安装时安装路径默认c:\progarmfiles即为64位,默认c:\progarmfiles(x86)即为32位应用程序。带(x86)的文件夹是默认用来安装32位软件的。

我是由于jdk是32位的,改成64位就好了

第二个问题 sendDefaultImpl call timeout、server is busy or broker

RemotingTooMuchRequestException: sendDefaultImpl call timeout

以及

 MQBrokerException: CODE: 1 DESC: create mapped file failed, server is busy or broker

 解决方法:

查看jdk发现是32位的,换成64位就OK了  (天坑啊!!!!真就是不给提示,全靠排除法!)

问题三:broker闪退、或者根本起不来

解决办法:

c:/user/用户名/store,将这个目录和目录下 所有文件全部删除

 由于mq是持久化的保存在磁盘上的,如果不配置默认是在 C盘下 c:/user/用户名/store

在mq/bin目录下执行 start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true 命令即可启动broker

PS:如果你在 broker.conf中配置了 自动创建topic的话就不需要这样启动了,直接启动这俩就好了

broker.conf 配置参考

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=127.0.0.1:9876
#Broker 对外服务的监听端口
listenPort=10911
#Broker监听的ip
brokerIP1=127.0.0.1

#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000

enablePropertyFilter=true

transactionTimeout=3000
transactionCheckMax=5
transactionCheckInterval=2000

如果以上方法都不行,建议换最新版 mq 然后重新配置试试

至此结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/653526.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Sharding-JDBC之PreciseShardingAlgorithm(精确分片算法)

目录 一、简介二、maven依赖三、数据库3.1、创建数据库3.2、创建表 四、配置(二选一)4.1、properties配置4.2、yml配置 五、精确分片算法5.1、精确分库算法5.2、精确分表算法 六、实现6.1、实体层6.2、持久层6.3、服务层6.4、测试类6.4.1、保存订单数据6…

ai画图怎么弄?简单几步教会你如何用ai绘画

艺术创作一直是人类文明发展的重要组成部分,在当今数字化时代,ai技术的不断进步也为我们带来了全新的创作方式。在这其中,ai绘画软件因其独特的创作方式和优秀的绘画效果受到了广泛关注和喜爱。使用ai绘画软件可以让我们轻松地创作出各种风格…

关于数据仓库那点事,一文捋清

借助海量的数据,企业进行了深层次的数字化改革,把数据当成了企业发展的核心,但无效的数据即使规模再大,也对企业没有意义,所以数据质量也就愈发重要。 数据仓库 事实上,很多人在看到数据仓库的第一眼&…

【夜深人静学数据结构与算法 | 第四篇】手撕二叉树遍历

目录 前言: 二叉树遍历方式: 手撕前中后序遍历(递归)的三大准备 深度优先搜索: 手撕前中后遍历(递归): 手撕前中后序遍历(迭代): 深度优先…

经典Java面试题收集

1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这…

EHCI接口概述(三)

EHCI主机接口寄存器在BAR0所示的PCI MEM地址空间中,主要包括两部分: 1)能力寄存器组 2)操作寄存器组 下面先介绍能力寄存器组 CAPLENGTH寄存器,8位只读寄存器,给出了控制寄存器组的偏移量。 HCIVERSION…

springboot+vue项目之CSGO赛事管理系统(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的CSGO赛事管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…

C语言:求两个数二进制中不同位的个数

题目: 编程实现:两个int(32位)整数 m 和 n 的二进制表达中,有多少个位(bit)不同? 输入例子 : 1999 2299 输出例子 : 7 思路: 总体思路: 把 m 异或 n 后,有几个相异就有几…

抢占父亲节市场:2023年出海品牌的海外网红营销策略揭秘

随着社交媒体的迅猛发展和全球化的趋势,网红营销已经成为品牌推广的一种重要方式。在父亲节这个特殊的节日里,出海品牌可以通过巧妙利用网红的影响力来推动产品销售和品牌知名度的提升。本文Nox聚星将详细介绍如何通过海外网红营销来提升品牌知名度和销售…

HarmonyOS学习路之开发篇—Java UI框架(动画开发)

动画开发 动画是组件的基础特性之一,精心设计的动画使UI变化更直观,有助于改进应用程序的外观并改善用户体验。Java UI框架提供了帧动画、数值动画和属性动画,并提供了将多个动画同时操作的动画集合。 帧动画 帧动画是利用视觉暂留现象&…

[电离层建模学习笔记]开源程序M_GIM学习记录

[电离层建模学习笔记]开源程序M_GIM学习记录 文章目录 [电离层建模学习笔记]开源程序M_GIM学习记录1. 程序相关信息2. 程序学习记录2.1 采用的数据说明2.2 程序运行前2.3 程序运行结果 3. 其他 1. 程序相关信息 开源程序M_GIM基于Matlab(Zhou et al., 2023),用于实…

js数组高阶函数——includes()方法

js数组高阶函数——includes方法 前言数组的一般化操作创建数组获取数组长度访问(遍历)数组元素修改数组元素删除数组元素数组尾部添加数组尾部删除 includes()方法举例说明关键点 前言 ⭐JS的数组是一种特殊的对象,其…

SSH通过VSCode远程访问服务器Opencv和matplotlib等无法直接显示图像问题

需求描述: 在VSCode中通过SSH连接服务器,使用cv2.imshow或plt.show()无法显示图像。 解决思路如下: 1、首先查看与服务器之间的网络连接问题(百分之九十问题就是出在第一步骤,哈哈哈) 在本地端打开cmd&…

「案例」95后占半壁江山的浙桂,如何在百家争鸣中快人一步

如果用一个历史时期来形容目前国内单光子雪崩二极管(SPAD)传感器芯片的市场格局,那就是——春秋。 各家IC设计公司百家争鸣,而浙桂半导体就是其中的“百分之一”。 浙桂半导体两大特点 一、浙桂研发SPAD传感器芯片需要召唤像元、…

C语言实现字符串的模式匹配

一.模式匹配 字符串的模式匹配算法是用来查找一个字符串中是否存在另一个指定的字符串(即模式)的算法。常见的模式匹配算法包括暴力匹配算法、KMP算法、Boyer-Moore算法和Rabin-Karp算法。 暴力匹配算法:暴力匹配算法也称为朴素匹配算法&am…

自学黑客!一般人我劝你还是算了吧

一、自学网络安全学习的误区和陷阱 1.不要试图以编程为基础的学习开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多 一…

【Java之JAR包解析】(三)除核心包 rt.jar之外的其他JAR包~

JAR包解析之其他jar包 前言:one: access-bridge-64.jar:two: charsets.jar:three: cldrdata.jar:four: deploy.jar:five: jce.jar:six: jfr.jar:seven: jfxrt.jar:eight: jfxswt.jar:nine: jsse.jar:keycap_ten: localedata.jar11、management-agent.jar12、nashorn.jar13、plu…

开发人员Git仓库提交与合并

参考:git 的变基(rebase)和合并(merge)具体有什么分别阿? - 知乎 1、Git工作流 在使用Git Flow工作模式时,业界普遍遵循的规则: 所有开发分支从develop分支拉取。所有hotfix分支从master分支拉取。所有在master分支上的提交都必…

flstudio21.0.3中文版水果软件下载

FL Studio就是国人众所熟知的水果编曲软件,圈内用户习惯叫它“水果”。它是一个全能音乐制作环境或数字音频工作站(DAW)。FL Studio可以进行编曲、剪辑、录音、混音,让你的电脑变成全功能录音室,帮助你制作出属于自己的…

轻量服务器架设网站打开速度慢,如何加速?

轻量服务器非常适合流量适中的小、中型网站,虽作为轻量级主机包,但它一般与云服务器使用同样的 CPU、内存、硬盘等底层资源。只是,轻量服务器的资源(可用的存储空间、RAM 和 CPU等硬件/内存容量)更低,虽然这些对于较中、小的网站来…