消息队列 RocketMQ 版客户端日志文件是 ons.log,包括 INFO、WARN、ERROR 级别的日志。 本文提供常见的客户端日志打印信息,旨在帮助您更好地从打印的日志中获取信息,并判断当前状态,从而排查故障。 下表列举了 ons.log 日志信息说明(持续更新)。
日志级别 打印信息 说明 解决方案 INFO [persistAll] Group: CID_XXXX ClientId: 10.31.40.100@171374#14159XXX#-2036649XXX#20931314294957XXX updateConsumeOffsetToBroker MessageQueue [topic=XXXX, brokerName=qdinternetorder-XX, queueId=X] 1013XXX 这种现象说明消息已经消费成功,并且在消息队列 RocketMQ 版服务端已持久化消费进度;MessageQueue 里包括了消息主题、对应的 brokerName、消费队列的 ID 不涉及 INFO [PULL_TPS] [CID_XXXX@CID_XXXX] Stats In One Minute, SUM: 0 TPS: 0.00 AVGPT: 0.00
[PULL_RT] [%RETRY%CID_XXXX@CID_XXXX] 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 消息队列 RocketMQ 版服务端压力过大,处理不了过多的请求;由于服务端在存储数据时是先写入 pageCache,然后去刷盘,因此每隔 10s 会去清理过期的请求(此过程会判断缓存页是否繁忙) 扩容,增加 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=XX, brokerName=szorder2-02, queueId=1]. maybe hanged for a while, 2 进行负载均衡时,对消息处理队列尝试加锁,如果 1s 内还未加锁成功,说明当前消息处理队列已经有消费者在访问,不能进行解锁 不涉及 WARN doRebalance, XXX-CID, add a new mq failed, MessageQueue [topic=XXXX, brokerName=szorder2-XX, queueId=X], because lock failed 当前使用的是顺序 Topic,为了保证单个分区中消息的顺序消费,会有个 Lock 的机制。客户端有这个日志说明其中某个分区已经有客户端在消费了。 不涉及 WARN get Topic [XXXXXX] 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_XXXXX
See http://rocketmq.apache.org/docs/faq/ for further details. AccessKey(包含 AccessKeyId 和 AccessKeySecret)配置错误 没有控制台于当前实例下创建的 Group ID(GID) 实例化的代码中,NameServerAddr 没有配置正确 配置正确的 AccessKey 在当前实例下创建 GID Java SDK 1.8.0 及以上版本,推荐配置 NameServerAddr,此参数可从消息队列 RocketMQ 版控制台获取,与之前版本配置的 ONSAddr 是不一致的 WARN com.aliyun.openservices.ons.api.impl.authority.exception.AuthenticationException: signature validate by dauth failed AccessKey(包含 AccessKeyId 和 AccessKeySecret)配置错误 AccessKey 要配置创建该 GID 使用的 AccessKey WARN NettyClientPublicExecutor_3 - execute the pull request exceptioncom.aliyun.openservices.shade.com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 26 DESC: subscription group [CID_XXX] does not exist,See http://rocketmq.apache.org/docs/faq/ for further details. 订阅关系没有推送到消息队列 RocketMQ 版 broker 上 subscription.json 文件里直接添加 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 缺少订阅关系 不涉及
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。