简介

TDengine 在实际生产应用中,经常会遇到订阅程序订阅不到数据的问题,总结大部分都为使用不当或状态不正确等问题,需手工解决。

查看服务端状态

通过 sql 命令查看有问题的 topic 和consumer_group 组订阅是否正常。

     select * from information_schema.ins_subscriptions where topic_name = 'db_32471_topic' and consumer_group='g122';

topic_name 和 consumer_group 换成对应的)

结果如下图:
在这里插入图片描述

  1. 如果offset 里分子在变大,或者 rows 列也在增大,证明服务端消费数据正常。consumer_id 为正在消费的消费者。根据 consumer_id 去客户端排查。
  2. 如果consumer_id 为 NULL,证明这个topic 里这个 consumer_group 组里没有消费者在消费。在服务端继续排查
  • 找到consumer_id 为 NULL这个consumer 所在的 vnode,找到vnode 的主节点(show vnodes)
  • 在主节点上执行如下命令(日志路径需替换)
    打开日志:alter dnode x ‘tqdebugflag 135’
    搜索日志:grep “tmq poll" /var/log/taos/taosdlog.0 | grep topic_name | grep consumer_group 查看是否有消费请求发送到服务端
  1. 如果某些行offset 在变,某些行 offset 没有变,但是consuemr_id 有值。offset 没有变的这个consumer 说明没有在消费数据。在服务端继续排查。
  • 找到没有变的这个consumer 所在的 vnode,找到vnode 的主节点(show vnodes)
  • 在主节点上执行如下命令(consumer_id 和日志路径需替换)
    打开日志: alter dnode x ‘tqdebugflag 135’
    搜索日志:grep 0xeca1f9b1d600001 /var/log/taos/taosdlog.0 | grep “tmq poll” | grep -E "set handle|block num"在这里插入图片描述如果没有搜到日志,证明服务端没有收到消费数据的消费请求。继续客户端排查。
    如果看到有 send rsp,block num 不为 0,说明有服务端有数据发送给客户端。为0,说明消费0条数据。

查看客户端状态

原生连接客户端是本地消费程序,日志为taos 的日志,目录为 taos.cfg 里配置的logDir,一般为 /var/log/taos/

WebSocket 连接方式客户端为 taosadapter 程序,如果有负载均衡的话,需要找对 taosadapter。日志同样为taos 的日志,目录为 taos.cfg 里配置的logDir,一般为 /var/log/taos/。

  1. 首先打开客户端日志,cDebugFlag 或者 tqClientDebugFlag。
    改配置文件taos.cfg 重启消费程序。
    不重启的话,如果为 taosadapter,可以执行如下命令
    curl --location ‘http://127.0.0.1:6041/rest/sql’ --header ‘Content-Type: text/plain’ -u root:Tbase129! --data ‘alter local ‘\’‘cdebugflag’\’’ ‘\’‘129’\‘’’ (用户名密码需替换)

也可以通过在mnode 主节点机器上执行 alter dnode x ‘tqclientdebugflag 135’,把开关下推到客户端。(3.3.4.3以及以后得版本支持)。

  1. 找到对应的taoslog(可以通过查看客户端进程,然后 ll /proc/id/fd|grep taoslog,查看具体的日志文件,因为可能存在多个客户端日志)

    然后根据 consumer_id 查找消费信息。没有consumer_id 的话,可以通过查找 start to poll at 来判断是否有 poll 调用过来。

下图第一行标识收到 poll 消息,第二行标识返回消费到多少数据
在这里插入图片描述出现如下日志说明消费者没有权限消费数据。在这里插入图片描述

消费者不存在问题

通过show consumers; 或者 show subscriptions,找不到消费者时,就是消费者被删除了。下列几种情况会删除消费者:

  1. 消费者断线超时,超时时间通过消费者配置参数 session.timeout.ms 控制,默认 12s。
  2. 消费者超过固定时间不再poll 数据,通过消费者配置参数 max.poll.interval.ms 控制,默认为 300s。
  3. 消费者主动取消订阅。

访问官网

更多内容欢迎访问 TDengine 官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/81061.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/81061.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/81061.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二、UI自动化测试02--元素定位方法

目录 一、定位⼀组元素⽅法二、XPath 定位⽅法1. 路径策略1.1 路径值获取⽅法 2. 利⽤元素属性策略利⽤元素属性策略的注意事项 3. 属性和逻辑结合4. 层级和属性结合策略5. XPath 延伸⽅法 三、CSS 定位⽅法1. CSS 策略: id选择器/class选择器/元素选择器/属性选择器2. 属性选择…

HotSpot的算法细节

可达性分析算法 以一系列“GC Roots”根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为“引用链”(Reference Chain),如果某个对象到GC Roots间没有任何引用链相连&am…

Transformer数学推导——Q27 证明时序注意力(Temporal Attention)在视频模型中的帧间依赖建模

该问题归类到Transformer架构问题集——注意力机制——跨模态与多模态。请参考LLM数学推导——Transformer架构问题集。 在视频理解任务中,捕捉帧与帧之间的时间依赖关系(如动作的连贯性、物体的运动轨迹)是核心挑战。时序注意力&#xff08…

服务器和数据库哪一个更重要

在当今数字化的时代,服务器和数据库都是构建和运行各种应用系统的关键组成部分,要说哪一个更重要,其实很难简单地给出定论。 服务器就像是一个强大的引擎,为应用程序提供了稳定的运行环境和高效的计算能力。它负责接收和处理来自…

【Android】四大组件之Service

目录 一、什么是Service 二、启停 Service 三、绑定 Service 四、前台服务 五、远程服务扩展 六、服务保活 七、服务启动方法混用 你可以把Service想象成一个“后台默默打工的工人”。它没有UI界面,默默地在后台干活,比如播放音乐、下载文件、处理…

pytest 技术总结

目录 一 pytest的安装: 二 pytest有三种启动方式: 三 用例规则: 四 配置框架: 一 pytest的安装: pip install pytest # 安装 pip install pytest -U # 升级到最新版 二 pytest有三种启动方式: 1…

redis 有序集合zrange和zrangebyscore的区别

起因是查询数据,用了zrangebyscore 但是一直显示没数据 具体命令zrangebyscore key 0 -1 withscores, 原有印象中一直是这么用的,但是突然查不出来了, 于是搜了下问题所在。 通过分数查看 不能用0和-1表示最小和最大,只能用分数来…

Tableau 基础表制作

目录 1.数据连接 2. 数据可视化 3. 基础表制作 3.1 对比分析:比大小 1. 柱状图 2. 条形图 3. 热力图 4. 气泡图 5. 词云 3.2 变化分析:看趋势 1. 折线图 2. 面积图 3.3 构成分析:看占比 1. 饼图 2. 树地图 3. 堆积图 3.4 关…

反序列化漏洞1

一、PHP类与对象 1. 类 概念理解: 类是共享相同结构和行为的对象的集合,可以理解为特征的提取。例如将耳朵长、尾巴短、红眼睛、吃胡萝卜、蹦跳行走的动物特征抽象为"兔子"类。代码结构: 使用class关键字定义类类名遵循大驼峰命名法包含成员变量(属性)和…

为什么要对 ACI 网络进行升级?

一、硬件演进 1. 交换机接口 前面板接口由 1/10G 升级至 10/25/100G fabric 上行链路 40G 升级至 100/400G 2. 交换机角色 交换机可以是 spine 或者 leaf,而不是固定角色 3. EOS APIC-SERVER-M2/L2 2024年6月30日 EOS,替换设备为 APIC-SERVER-M4/L4 二、网络升级参考文…

DeepSeek+Cline:开启自动化编程新纪元

目录 一、引言:AI 编程时代的曙光二、认识 DeepSeek 和 Cline2.1 DeepSeek 是什么2.2 Cline 详解2.3 两者结合的魅力 三、DeepSeek Cline 安装与配置全流程3.1 安装 VS Code3.2 安装 Cline 插件3.3 获取 DeepSeek API Key3.4 配置 Cline 与 DeepSeek 连接 四、实战演…

【展位预告】正也科技将携营销精细化管理解决方案出席中睿营销论坛

在医药行业面临政策深化、技术迭代、全球化竞争的多重挑战下,第二届中睿医药健康生态生长力峰会暨第三十五届中睿医药营销论坛将于广州盛大启幕。5月19-20日本次峰会以“聚焦政策变革、把握产业趋势、构建生态共赢”为核心,旨在通过全产业链资源整合与创…

【深度学习】评估模型复杂度:GFLOPs与Params详解

评估模型复杂度:GFLOPs与Params详解 在深度学习模型设计与优化过程中,GFLOPs和Params是论文中两个重要的评估指标,它们分别衡量模型的计算复杂度和参数量。本文将详细介绍这两个概念及其在实践中的应用。 1. Params:模型参数量 …

Go语言->练习6例

1.go语言的接口实现 接口(interface)是一种类型,它定义了一组方法的集合。任何类型只要实现了接口中定义的所有方法,就被认为实现了该接口。 在Go语言中,使用接口的最佳实践可以提高代码的可读性、可维护性和灵活性。…

Drivestduio 代码笔记与理解

Rigid Node: 表示 car或者trucks Deformable Node : 表示一些 分布之外的 non-rigid 的运动物体, 比如远处的行人等和Cyclist。 在 load_objects 会读取每一个 dynamic objects 的 bounding box’的信息,具体如下: frame_instances 记录了每…

《算法笔记》10.5小节——图算法专题->最小生成树 问题 E: Jungle Roads

题目描述 The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was spent on extra roads between villages some years ago. But the jungle overtakes roads relentlessly, so the large road network is too expensive to mai…

【音视频】SDL简介

官网:官网 文档:文档 SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供数种控制图像、声音、输出入的函数,让开发者只 要用相同或是相似的代码就可以开发出跨多…

SpringBoot + SSE 实时异步流式推送

前言 在当今数字化时代,实时数据处理对于企业的决策和运营至关重要。许多业务场景需要及时响应数据库中的数据变化,例如电商平台实时更新库存、金融系统实时监控交易数据等。 本文将详细介绍如何通过Debezium捕获数据库变更事件,并利用Serv…

ADS1299模拟前端(AFE)代替芯片——LHE7909

在现代医疗科技的飞速发展中,精确的生物电势测量设备变得越来越重要。领慧立芯推出的LHE7909,是一款专为心电图(ECG)和其他生物电势测量设计的低噪声24位模数转换器(ADC),为医疗设备制造商提供了…