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了。

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

相关推荐
百思可瑞教育14 小时前
ActiveMQ、RocketMQ、RabbitMQ、Kafka 的全面对比分析
vue.js·分布式·rabbitmq·rocketmq·activemq·北京百思可瑞教育·百思可瑞教育
yenggd19 小时前
centos系统apache支持php配置
centos·php·apache
deepwater_zone1 天前
主流的开源协议(MIT,Apache,GPL v2/v3)
apache·开源协议
lingggggaaaa1 天前
小迪安全v2023学习笔记(七十九讲)—— 中间件安全&IIS&Apache&Tomcat&Nginx&CVE
笔记·学习·安全·web安全·网络安全·中间件·apache
lifallen1 天前
Kafka 内存池MemoryPool 设计
数据结构·kafka·apache
闯闯桑2 天前
toDF(columns: _*) 语法
开发语言·前端·spark·scala·apache
A-刘晨阳3 天前
从全球视角到K8s落地的Apache IoTDB实战
kubernetes·apache·iotdb
管家婆客服中心3 天前
管家婆分销ERP A/V系列导出提示加载数据过大的处理方式
linux·服务器·apache
王嘉俊9253 天前
深入浅出 全面剖析消息队列(Kafka,RabbitMQ,RocketMQ 等)
分布式·kafka·消息队列·rabbitmq·rocketmq
HashData酷克数据3 天前
官宣:Apache Cloudberry (Incubating) 2.0.0 发布!
数据库·开源·apache·cloudberry