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 状态是否正常。
目录
相关文章
|
1月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
21天前
|
SQL 存储 数据处理
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
Apache Doris 物化视图进行了支持。**早期版本中,Doris 支持同步物化视图;从 2.1 版本开始,正式引入异步物化视图,[并在 3.0 版本中完善了这一功能](https://www.selectdb.com/blog/1058)。**
|
28天前
|
SQL 存储 Java
Apache Doris 2.1.7 版本正式发布
亲爱的社区小伙伴们,**Apache Doris 2.1.7 版本已于 2024 年 11 月 10 日正式发布。**2.1.7 版本持续升级改进,同时在湖仓一体、异步物化视图、半结构化数据管理、查询优化器、执行引擎、存储管理、以及权限管理等方面完成了若干修复。欢迎大家下载使用。
|
1月前
|
监控 Cloud Native BI
8+ 典型分析场景,25+ 标杆案例,Apache Doris 和 SelectDB 精选案例集(2024版)电子版上线
飞轮科技正式推出 Apache Doris 和 SelectDB 精选案例集 ——《走向现代化的数据仓库(2024 版)》,汇聚了来自各行各业的成功案例与实践经验。该书以行业为划分标准,辅以使用场景标签,旨在为读者提供一个高度整合、全面涵盖、分类清晰且易于查阅的学习资源库。
|
1月前
|
SQL DataWorks 关系型数据库
阿里云 DataWorks 正式支持 SelectDB & Apache Doris 数据源,实现 MySQL 整库实时同步
阿里云数据库 SelectDB 版是阿里云与飞轮科技联合基于 Apache Doris 内核打造的现代化数据仓库,支持大规模实时数据上的极速查询分析。通过实时、统一、弹性、开放的核心能力,能够为企业提供高性价比、简单易用、安全稳定、低成本的实时大数据分析支持。SelectDB 具备世界领先的实时分析能力,能够实现秒级的数据实时导入与同步,在宽表、复杂多表关联、高并发点查等不同场景下,提供超越一众国际知名的同类产品的优秀性能,多次登顶 ClickBench 全球数据库分析性能排行榜。
|
2月前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
|
2月前
|
存储 小程序 Apache
10月26日@杭州,飞轮科技 x 阿里云举办 Apache Doris Meetup,探索保险、游戏、制造及电信领域数据仓库建设实践
10月26日,由飞轮科技与阿里云联手发起的 Apache Doris 杭州站 Meetup 即将开启!
56 0
|
2月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
752 13
Apache Flink 2.0-preview released
|
2月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
82 3
|
3月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

推荐镜像

更多