全部产品
云市场
云游戏
    消息队列RocketMQ版客户端中常见的日志信息以及说明

消息队列RocketMQ版客户端中常见的日志信息以及说明

更新时间:2020-07-22 10:48:04

概述

本文主要介绍消息队列RocketMQ版客户端中常见的日志信息以及说明,旨在帮助您更好地根据日志信息判断客户端的当前状态,从而排查故障。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

消息队列RocketMQ版客户端日志文件ons.log所在路径如下。

/[$User_Home]/logs/ons.log

提示:[$User_Home]指用户家目录。

该日志中包括INFO、WARN、ERROR 3种级别的日志信息,下表列举了客户端中常见的日志信息及对应的说明:

日志级别 日志信息 日志说明 解决方案
INFO [persistAll] Group: CID_**** ClientId: 10.*.*.100@17**74#141***#-20****#209**** updateConsumeOffsetToBroker MessageQueue [topic=****, brokerName=****, queueId=**** 消息已经被成功消费,并且在服务端已持久化消费进度。MessageQueue中包括了消息主题、对应的BrokerName和消费队列的ID。 不涉及
INFO [PULL_TPS] [CID_****@CID_****] Stats In One Minute, SUM: 0 TPS: 0.00 AVGPT: 0.00</br>[PULL_RT] [%RETRY%CID_****@CID_****] Stats In One Minute, SUM: 0 TPS: 0.00 AVGPT: 0.00 从ConsumeQueue中拉取消息时的TPS,即每秒Request的数量。 不涉及
WARN [TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 905ms, size of queue: 1164 服务端压力过大,处理不了过多的请求;由于服务端在存储数据时是先写入PageCache(缓存页),然后再写入硬盘。因此每隔10s会清理过期的请求,此过程会判断缓存页是否繁忙。
  • 扩容消息队列RocketMQ版的Broker,分担压力。
  • 增加osPageCacheBusyTimeOutMills参数的值。
WARN execute the pull request exceptioncom.aliyun.openservices.shade.com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 25 DESC: the consumer's subscription not latest Broker每隔一段时间就会向NameServer上报自己的路由信息,如果此过程出现网络抖动,未获取到最新的订阅信息,消费者消费时会出现该警告。 不涉及
WARN [WRONG]mq is consuming, so can not unlock it, MessageQueue [topic=***, brokerName=***, queueId=***]. maybe hanged for a while, 2 进行负载均衡时,尝试对消息处理队列加锁。如果1s内还未加锁成功,说明当前消息处理队列已经有消费者在访问,不能进行解锁。 不涉及
WARN doRebalance, ***-CID, add a new mq failed, MessageQueue [topic=***, brokerName=***, queueId=***], because lock failed 当前使用的是顺序Topic,为了保证单个分区中消息的顺序消费,会有加锁机制(Lock) 。客户端有这个日志说明其中某个分区已经有客户端在消费了。 不涉及
WARN get Topic [****] RouteInfoFromNameServer is not exist valuecom.aliyun.openservices.shade.com.alibaba.rocketmq.client.exception.MQClientException: CODE: 17 DESC: No topic route info in name server for the topic: TOPIC_****</br>See http://rocketmq.apache.org/docs/faq/ for further details.

出现此日志的原因如下:

  • AccessKey(包含AccessKeyId和AccessKeySecret)配置错误。
  • 代码中配置的Group ID(GID)与控制台中创建的GID不符。
  • 代码中的接入点(NAMESRV_ADDR)配置错误。

对应的解决方案如下:

  • 配置正确的AccessKey,详情请参见RAM主子账号授权
  • 确认控制台中已经创建GID,并且和代码中配置的GID一致。详情请参见快速入门中的创建Group ID章节。
  • 确认代码中配置的接入点信息与控制台中的一致。详情请参见快速入门中的获取接入点章节。
WARN com.aliyun.openservices.ons.api.impl.authority.exception.AuthenticationException: signature validate by dauth failed

AccessKey(包含AccessKeyId和AccessKeySecret)配置错误。

确保使用的AccessKey正确,并且该AccessKey有权限访问您创建的Group ID(GID)。详情请参见RAM主子账号授权
WARN NettyClientPublicExecutor_3 - execute the pull request exceptioncom.aliyun.openservices.shade.com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 26 DESC: subscription group [CID_***] does not exist,See http://rocketmq.apache.org/docs/faq/ for further details. 订阅关系没有推送到消息队列RocketMQ版的Broker上。 subscription.json文件中添加Group ID(GID)对应的信息即可。
WARN execute the pull request exceptioncom.aliyun.openservices.shade.com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 24 DESC: the consumer's subscription not exist 缺少订阅关系。 不涉及

适用于

  • 消息队列RocketMQ版