org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException

异常信息

org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

开发环境描述

rocketMq 版本是 4.9.0,部署在服务器主机上, Broker 部署为单节点(单机)模式,本地需要挂载VPN,和主机进行通信。

NameServer 和 broker 的启动都是默认的启动命令。

已安装 RocketMQ Dashboard 进行管理,页面确实比较方便。

排查过程

SpringBoot 整合 RocketMq 一个demo程序,进行简单的生产和消费。

搭建了本地 RocketMq 以及 RocketMQ Dashboard,测试正常。

但是只要配置服务器的 NameServer 地址,就抛出上面的异常,查看broker日志并没有相关的日志,推断是网络通讯有问题,也就是客户端和 broker 就没有建立正常的连接。

通过 RocketMQ Dashboard 查看 Cluster 信息,发现 broker 的地址根本就不是服务器主机的地址,网络也是不通的(telnet 测试),基本上就确定了问题所在。

错误原因解析

NameServer 是 RocketMQ 中的另一个关键组件,用于管理 Broker 的地址信息。

Broker 是 RocketMQ 中负责存储和传递消息的组件,而 Producer 和 Consumer 分别是生产和消费消息的客户端。

简单的说 NameServer 是一个注册中心,Producer 和 Consumer 不直接与 Broker 通信,而是通过 NameServer 发现 Broker 的地址。

在一些云服务提供商的环境中,Broker 地址可能会被动态分配,而不需要手动配置。这通常是通过云服务平台的服务发现机制实现的。

也就是说如果没有配置 Broker,那么 IP:PORT 就由主机进行分配。

所以呢,需要手动配置 Broker,指定 IP:PORT ,然后重启 Broker 就可以测试了。

解决和测试

Broker的配置文件在:/your_rocktMq_install_path/conf/broker.conf

手动配置broker的地址和端口:

复制代码
#手动分配地址
brokerIP1= your_ip
listenPort=10911

重启 Broker

bash 复制代码
cd /your_rocktMq_install_path/
# 停止broker
sh bin/mqshutdown broker
# 启动broker
nohup sh bin/mqbroker -n [your_namesever_url]:[port] -c /your_rocktMq_install_path/conf/broker.conf &

通过 RocketMQ Dashboard 查看 broker 的地址信息,应该已经是你配置的ip和端口了,进行测试,基本上就ok了。

综述: 就是一个网络通信问题,当然了,可能也有其他的原因。

相关推荐
网络豆2 小时前
Apache Hive 鸿蒙 PC 适配全记录:以 Qt 客户端打通 HiveQL、监控与元数据访问
hive·apache·harmonyos
网络豆2 小时前
Apache HBase 鸿蒙 PC 适配全记录:用 Qt 原生客户端打通 REST 管理与数据读写
apache·hbase·harmonyos
无巧不成书02181 天前
Apache Tomcat 9 下载全指南(Windows,Linux,macOS):版本选型、国内镜像、SHA-512 与 PGP 完整性校验
windows·tomcat·apache
Dream-Y.ocean1 天前
鸿蒙平台 Apache Tomcat 管理控制台适配实战:基于 Electron 壳方案的真实 HTTP 服务器实现
tomcat·apache·harmonyos
betazhou1 天前
Apache seatunel常用配置参数解析说明
apache·seatunnel
letisgo52 天前
JAVA 高级进阶10篇《消息队列实战:RocketMQ/Kafka选型与“不丢不重有序“三连解》
java·面试·kafka·消息队列·rocketmq
凤山老林2 天前
Spring Boot 集成 Apache Kafka Streams 构建流处理应用:状态存储、窗口聚合与
spring boot·kafka·apache
DolphinScheduler社区3 天前
Apache DolphinScheduler 8 月报:权限安全加固,调度补火上线,性能与稳定性持续提升
大数据·安全·开源·apache·任务调度·海豚调度
sbjdhjd3 天前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
小楼昨夜又东风1263 天前
kafka、rocketmq、rabbitmq,有什么区别
kafka·rabbitmq·rocketmq