Doris 运维篇:Apache Doris 如何定位处理问题的Tablet

简介: Doris 运维篇:Apache Doris 如何定位处理问题的Tablet

我们在使用Doris的时候,有时候会遇到用户在查询的时候出现失败,出现类似下面这种错误:

tablet=33903.2001738452.784560b62ce005b4-03d036e54a7ff7bb, res=-xxx, backend=x.x.x.x

Doris 1.1.x 之前版本定位方法


这个时候我们都知道通过下面的命令来去查看这个tablet 情况

show tablet 33903

然后再返回的信息里执行最后有一列的命令

SHOW PROC '/dbs/11015/19297/partitions/19296/19298/19299';

这个时候我们可以看到这个tablet 所有的副本


这里只是演示,我的环境是单副本,实际情况下是多副本(默认三副本)

mysql> SHOW PROC '/dbs/11015/19297/partitions/19296/19298/19299'; 

好,到这里我们看到这出问题这个tablet 所有的副本,在上面这个查询返回结果里我们关注几个字段


State :tablet 副本状态,NORMAL表示副本是正常的


IsBad :副本是否损坏,如果是true,说明这个副本存在问题


VersionCount :tablet 数据的版本数量,这个如果太多,说明compaction可能失败了,或者是compaction速度跟不上,需要去查日志,监控等,分析原因


LstFailedVersion :这里如果值大于0说明这个副本是有问题的,正常情况下这个值只能是-1


LstFailedTime :正常这个值是null,如果有值说明有问题,值对应的是最后失败的时间点


如果你数据是多副本,应该所有副本的DataSize,RowCount是完全一样的


Version :这个是 tablet 副本的版本号,要和tablet所有的partition里的VisibleVersion 完全一致,否则说明这个tablet副本也是有问题的,正常情况下tablet所有副本Version都是和tablet 所在partition里的

VisibleVersion完全一致。同时这个字段和LstSuccessVersion也是完全一致的


我们怎么去查看tablet 所在 Partition的Version


查看 tablet 所在 partition VisibleVersion


查看命令:

 SHOW PROC '/dbs/<db id>/<table id>/partitions';

这个命令会列出表的所有分区


在我们show tablet tablet_id 的时候返回的信息里最后一列,我们通过这一列可以知道我们要找的tablet 对应的 partition id

SHOW PROC '/dbs/11015/19297/partitions/19296/19298/19299';

这样我们就可以在下面这个列表里找到我们这个tablet 的 partition VisibleVersion


mysql> SHOW PROC '/dbs/11015/19297/partitions';


这个时候我们通过上面1-8条说明里讲解的内容就可以定位错误的 tablet 副本


如果只是其中一个副本损坏,我们可以通过下面命令将这个副本设置成 bad ,删除副本,让其自动恢复

ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10001", "backend_id" = "20001", "status" = "bad");

如果是多个副本都损坏,并且是分区表的情况下,可以删除这个分区,然后手动重建这个分区,重新导入数据即可


如果是多个副本都损坏,并且是非分区表的情况下,只能删除这个表重新导入数据。


Doris 1.1.x 之前版本定位方法


Doris 在 1.1.x 之后的版本里提供了一个更简单检查 tablet 副本状态的工具:

 ADMIN DIAGNOSE TABLET tblet_id

我们可以通过上面的命令去检查tablet 是否正常


该语句用于诊断指定 tablet。结果中将显示这个 tablet 的信息和一些潜在的问题。


示例:

mysql>  admin diagnose tablet 19299;

结果中的各行信息如下:


  1. 1.TabletExist: Tablet是否存在

  2. 2.TabletId: Tablet ID

  3. 3.Database: Tablet 所属 DB 和其 ID

  4. 4.Table: Tablet 所属 Table 和其 ID

  5. 5.Partition: Tablet 所属 Partition 和其 ID

  6. 6.MaterializedIndex: Tablet 所属物化视图和其 ID

  7. 7.Replicas(ReplicaId -> BackendId): Tablet 各副本和其所在 BE。

  8. 8.ReplicasNum: 副本数量是否正确。

  9. 9.ReplicaBackendStatus: 副本所在 BE 节点是否正常。

  10. 10.ReplicaVersionStatus: 副本的版本号是否正常。

  11. 11.ReplicaStatus: 副本状态是否正常。

  12. 12.ReplicaCompactionStatus: 副本 Compaction 状态是否正常。
相关文章
|
7月前
|
消息中间件 OLAP Kafka
Apache Doris 实时更新技术揭秘:为何在 OLAP 领域表现卓越?
Apache Doris 为何在 OLAP 领域表现卓越?凭借其主键模型、数据延迟、查询性能、并发处理、易用性等多方面特性的表现,在分析领域展现了独特的实时更新能力。
676 9
|
6月前
|
存储 自然语言处理 分布式计算
Apache Doris 3.1 正式发布:半结构化分析全面升级,湖仓一体能力再跃新高
Apache Doris 3.1 正式发布!全面升级半结构化分析,支持 VARIANT 稀疏列与模板化 Schema,提升湖仓一体能力,增强 Iceberg/Paimon 集成,优化存储引擎与查询性能,助力高效数据分析。
824 4
Apache Doris 3.1 正式发布:半结构化分析全面升级,湖仓一体能力再跃新高
|
7月前
|
存储 分布式计算 Apache
湖仓一体:小米集团基于 Apache Doris + Apache Paimon 实现 6 倍性能飞跃
小米通过将 Apache Doris(数据库)与 Apache Paimon(数据湖)深度融合,不仅解决了数据湖分析的性能瓶颈,更实现了 “1+1>2” 的协同效应。在这些实践下,小米在湖仓数据分析场景下获得了可观的业务收益。
1266 9
湖仓一体:小米集团基于 Apache Doris + Apache Paimon 实现 6 倍性能飞跃
|
7月前
|
人工智能 运维 监控
智能运维与数据治理:基于 Apache Doris 的 Data Agent 解决方案
本文基于 Apache Doris 数据运维治理 Agent 展开讨论,如何让 AI 成为 Doris 数据运维工程师和数据治理专家的智能助手,并在某些场景下实现对人工操作的全面替代。这种变革不仅仅是技术层面的进步,更是数据运维治理思维方式的根本性转变:从“被动响应”到“主动预防”,从“人工判断”到“智能决策”,从“孤立处理”到“协同治理”。
1153 11
智能运维与数据治理:基于 Apache Doris 的 Data Agent 解决方案
|
6月前
|
SQL 人工智能 数据挖掘
Apache Doris 4.0 AI 能力揭秘(二):为企业级应用而生的 AI 函数设计与实践
Apache Doris 4.0 原生集成 LLM 函数,将大语言模型能力深度融入 SQL 引擎,实现文本处理智能化与数据分析一体化。通过十大函数,支持智能客服、内容分析、金融风控等场景,提升实时决策效率。采用资源池化管理,保障数据一致性,降低传输开销,毫秒级完成 AI 分析。结合缓存复用、并行执行与权限控制,兼顾性能、成本与安全,推动数据库向 AI 原生演进。
598 0
Apache Doris 4.0 AI 能力揭秘(二):为企业级应用而生的 AI 函数设计与实践
|
7月前
|
SQL 存储 JSON
Apache Doris 2.1.10 版本正式发布
亲爱的社区小伙伴们,Apache Doris 2.1.10 版本已正式发布。2.1.10 版本对湖仓一体、半结构化数据类型、查询优化器、执行引擎、存储管理进行了若干改进优化。欢迎大家下载使用。
325 5
|
5月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
917 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
470 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
7月前
|
SQL 人工智能 数据挖掘
Apache Flink:从实时数据分析到实时AI
Apache Flink 是实时数据处理领域的核心技术,历经十年发展,已从学术项目成长为实时计算的事实标准。它在现代数据架构中发挥着关键作用,支持实时数据分析、湖仓集成及实时 AI 应用。随着 Flink 2.0 的发布,其在流式湖仓、AI 驱动决策等方面展现出强大潜力,正推动企业迈向智能化、实时化的新阶段。
862 9
Apache Flink:从实时数据分析到实时AI
|
7月前
|
SQL 人工智能 API
Apache Flink 2.1.0: 面向实时 Data + AI 全面升级,开启智能流处理新纪元
Apache Flink 2.1.0 正式发布,标志着实时数据处理引擎向统一 Data + AI 平台迈进。新版本强化了实时 AI 能力,支持通过 Flink SQL 和 Table API 创建及调用 AI 模型,新增 Model DDL、ML_PREDICT 表值函数等功能,实现端到端的实时 AI 工作流。同时增强了 Flink SQL 的流处理能力,引入 Process Table Functions(PTFs)、Variant 数据类型,优化流式 Join 及状态管理,显著提升作业稳定性与资源利用率。
755 0

推荐镜像

更多