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 状态是否正常。
目录
相关文章
|
14天前
|
SQL 存储 Apache
Apache Doris 2.1.3 版本正式发布
Apache Doris 2.1.3 版本正式发布!该版本在功能特性上对数据湖、物化视图、负载管理等方面进行了多项更新,进一步简化湖仓一体架构、加速了查询性能。 欢迎大家下载体验~
|
20天前
|
SQL 存储 调度
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
一个合适的执行模型对于提高查询效率和系统性能至关重要。本文全面剖析 Apache Doris Pipeline 执行模型的设计与改造历程,并在 2.1 版本对并发执行模式与调度模式进一步优化,解决了执行并发受限、执行及调度开销大等问题。
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
|
5天前
|
存储 运维 5G
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
数据是 5G 全连接工厂的核心要素,为支持全方位的数据收集、存储、分析等工作的高效进行,联通 5G 全连接工厂从典型的 Lambda 架构演进为 All in [Apache Doris](https://c.d4t.cn/vwDf8R) 的实时/离线一体化架构,并凭借 Doris 联邦查询能力打造统一查询网关,数据处理及查询链路大幅简化,为联通 5G 全连接工厂带来数据时效性、查询响应、存储成本、开发效率全方位的提升。
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
|
8天前
|
OLAP 数据处理 Apache
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
众安保险在CDP(Customer Data Platform,客户数据平台)建设中,通过引入阿里云数据库SelectDB版内核Apache Doris,成功打破了数据孤岛,并显著提升了人群圈选的速度
172 1
|
9天前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
|
12天前
|
消息中间件 JSON Kafka
AutoMQ 生态集成 Apache Doris
Apache Doris 是一个高性能的分析型数据库,以其亚秒级查询响应和对复杂分析的支持而知名。它适合报表分析、即席查询等场景,能从 AutoMQ 通过 Routine Load 导入 Kafka 主题数据。本文详述了如何配置 Doris 环境,创建测试数据,以及设置 Routine Load 作业从 AutoMQ 导入 JSON 数据到 Doris 表的过程。最后,文中展示了验证数据成功导入的方法。Apache Doris 提供了低成本、高弹性的数据处理解决方案,其团队由 Apache RocketMQ 和 Linux LVS 的核心成员组成。
31 0
|
21天前
|
SQL 大数据 BI
从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践
从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践
|
16天前
|
运维 关系型数据库 MySQL
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
|
16天前
|
运维 Linux Shell
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
|
16天前
|
运维 程序员 Linux
运维最全Linux 基本防火墙设置和开放端口命令,2024年最新程序员如何自我学习和成长
运维最全Linux 基本防火墙设置和开放端口命令,2024年最新程序员如何自我学习和成长

推荐镜像

更多