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

news/2024/12/23 0:28:46/

目录

环境: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=300000enablePropertyFilter=truetransactionTimeout=3000
transactionCheckMax=5
transactionCheckInterval=2000

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

至此结束


http://www.ppmy.cn/news/421287.html

相关文章

挖掘用户真实需求 避坑5大技巧

1、用户总是“说一套 做一套” 在进行需求市场调研时,我们问1000个用户,是否想要黄金,几乎所有的用户都是肯定的回答。如果我们以此认定,黄金是用户的真实需求会过于草率。 我们需继续追问用户:买黄金做什么&#xff1…

离散数学题目收集整理练习(期末过关进度40%)

✨博主:命运之光 🦄专栏:离散数学考前复习(知识点题) 🍓专栏:概率论期末速成(一套卷) 🐳专栏:数字电路考前复习 ✨博主的其他文章:点击…

笔记本计算机作文,我的笔记本电脑作文600字

我有一个漂亮的电脑,它不仅外观精美,而且功能齐全,这可是我九岁生日时爸爸送给我的。 我的笔记本电脑是粉色的,表面上贴着一张张美丽的贴画,看起来真是漂亮极了,打开它之后,你就会看到粉色的世界…

十大笔记本品牌型号命名规则【华硕】

华硕笔记本的型号命名规则 在所有笔记本品牌中,华硕的型号命名方式可能是最冗长、而且最难于记忆的,但与此同时,它也是最有参考价值的,因为每个型号都会对应一款固定配置的机型。 有些品牌的笔记本是型号不变,但不知什…

设计要用计算机吗,作为设计师 你需要这样的笔记本电脑

在选购笔记本电脑这件事上,估计很多小伙伴都比较头疼,尤其是设计师,因为设计师本与普通文职工作不同,他们经常需要处理尺寸过大的图片以及视频剪辑的工作需求,所以他们对电脑的硬件性能、高分屏、广色域屏和优质的外观…

计算机专业大一有必要买电脑吗,大一有必要买电脑吗 适合女生用的笔记本电脑...

大一有必要买电脑吗,适合女生的 笔记本电脑有哪些,小编整理了相关信息,希望会对大家有所帮助! 大一有必要买电脑吗 首先我想说的是,其实如果不是你的专业需求特别强的话,一般大一用电脑是没有这个必要的。 …

【英语】重要句型+同义词替换(粉色笔记本)

重要句型 vary from person to person The opinion of the problem varies from person to person. 对问题的看法因人而异A be superior/ inferior to B Some consider digital TV to be superior to satellite TV. A 优于/不如 Bupon/on doing sth Upon/On hearing the unexp…

tmux如何开启同步功能?

在 Tmux 中,你可以使用 “synchronize-panes” 命令来同步多个面板(panes)的输入。以下是使用这个命令的步骤: 首先,你需要在 Tmux 中打开多个面板。你可以通过按下 “Ctrl b”,然后按 “%” 或 ‘"’…