开发者社区 > 云原生 > 云消息队列 > 正文

rocketMQ中这个问题怎么解决?

"问题1:rocketMQ中这个问题怎么解决?
0e3461057988a03be55f8d2153d00d34.jpg
问题2:这种是客户端连不上broker服务端吗?只是很奇怪单节点为啥也会这样,看到官方的修复是在之前的基础上加了system.nanotime()
2023-07-10 11:42:07 ERROR NettyServerNIOSelector_3_1 - processRequestWrapper response to /XXXX:59582 failed
io.netty.channel.StacklessClosedChannelException: null
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)
2023-07-10 11:42:07 ERROR NettyServerNIOSelector_3_1 - RemotingCommand [code=11, language=JAVA, version=413, opaque=2155559, flag(B)=0, remark=null, extFields={queueId=1, maxMsgBytes=262144, maxMsgNums=32, sysFlag=3, suspendTimeoutMillis=15000, commitOffset=323989, bname=broker-a, topic=PAY_TRADE_NOTIFY_TOPIC, queueOffset=323989, expressionType=TAG, subVersion=1688955438628, consumerGroup=CID_PAY_MERCHANT_NOTIFY_CONSUMER_GROUP}, serializeTypeCurrentRPC=JSON]
2023-07-10 11:42:07 ERROR NettyServerNIOSelector_3_1 - RemotingCommand [code=20, language=JAVA, version=413, opaque=2155559, flag(B)=1, remark=NO_MATCHED_MESSAGE, extFields=null, serializeTypeCurrentRPC=JSON]
2023-07-10 11:42:07 ERROR NettyServerNIOSelector_3_3 - processRequestWrapper response to /XXXX:35292 failed
io.netty.channel.StacklessClosedChannelException: null
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)
2023-07-10 11:42:07 ERROR NettyServerNIOSelector_3_3 - RemotingCommand [code=11, language=JAVA, version=413, opaque=2155482, flag(B)=0, remark=null, extFields={queueId=0, maxMsgBytes=262144, maxMsgNums=32, sysFlag=2, suspendTimeoutMillis=15000, commitOffset=0, bname=broker-a, topic=%RETRY%CID_WD_NOTIFY_RECORD_GROUP, queueOffset=0, expressionType=TAG, subVersion=1688538180246, consumerGroup=CID_WD_NOTIFY_RECORD_GROUP}, serializeTypeCurrentRPC=JSON]
2023-07-10 11:42:07 ERROR NettyServerNIOSelector_3_3 - RemotingCommand [code=19, language=JAVA, version=413, opaque=2155482, flag(B)=1, remark=NO_MESSAGE_IN_QUEUE, extFields=null, serializeTypeCurrentRPC=JSON]
2023-07-10 11:42:07 ERROR NettyServerNIOSelector_3_3 - processRequestWrapper response to /XXXX:35292 failed
io.netty.channel.StacklessClosedChannelException: null"

展开
收起
十一0204 2023-07-19 19:52:44 618 0
2 条回答
写回答
取消 提交回答
  • 根据您提供的日志,可以看出有两个错误发生在NettyServerNIOSelector中。这些错误通常表示客户端连接问题或网络异常引起的连接关闭。

    具体而言,StacklessClosedChannelException 表示在写入响应数据时发生了异常,该异常表明对方(客户端)已经关闭了连接。可能的原因包括:客户端主动关闭连接、网络故障导致连接中断等。

    以下是对日志中的一部分进行解读:

    • RemotingCommand [code=20, ... remark=NO_MATCHED_MESSAGE] 表示消费者发送了拉取消息的请求,但没有匹配的消息可供消费。
    • RemotingCommand [code=19, ... remark=NO_MESSAGE_IN_QUEUE] 表示消费者发送了从队列中消费消息的请求,但队列中没有消息可供消费。

    以上日志并未直接指示问题发生的原因,可能需要进一步检查和排除其他可能性。下面是一些可能导致此类问题的原因:

    1. 网络问题:可能存在网络抖动、连接超时或其他网络异常导致连接中断。
    2. 客户端配置错误:请确保客户端与Broker之间的连接参数配置正确,例如NameServer地址、端口号等。
    3. 资源限制:如果您的Broker部署在容器中,可能需要检查容器的资源限制是否满足实际需求,例如内存和文件描述符等。
    4. 版本不匹配:确保使用的RocketMQ版本与其他组件(如Broker、NameServer)的版本兼容。

    如果问题持续存在,请尝试通过以下方式进行排查:

    1. 检查网络连接是否正常,确保客户端与Broker之间的通信可靠。
    2. 仔细检查您的RocketMQ配置文件,特别关注与网络连接和客户端参数相关的配置项。
    3. 确认RocketMQ的各个组件的版本兼容性,并考虑升级到最新版本以获得更好的稳定性和bug修复。
    2023-07-28 13:42:16
    赞同 展开评论 打赏
  • 意中人就是我呀!

    回答1:有点像网络不通。
    回答2:看起来是客户端的链接断了。此回答整理至钉群“群2-Apache RocketMQ 中国开发者钉钉群”。

    2023-07-19 23:00:00
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载