【Apache Doris】数据副本问题排查指南

2. doris编译安装 挂载目录:docker run -it --name doris-build-latest -v /root/.m2:/root/.m2 -v /root/doris/:/root/dori。动: ./be/bin/start_be.sh --daemon。中途可能会编译失败,大概率是没下载下来依赖或者源码和。文档和列表一直在更新注意对应的版本,不然编译会失败。# 在最开始一行添加一下JAVA_HOM。应上,依赖没下载下来,继续运行命。源码:sh build.sh。刚开始没密码,设置密码。 阅读详情
AI摘要

本文介绍ApacheDoris中数据副本异常的现象、定位方法和处理流程,包括自动修复、手动修复和填充空副本等策略。

【Apache Doris】数据副本问题排查指南

本文主要分享Doris中数据副本异常的问题现象、问题定位以及如何处理此类问题。

一、问题现象

  1. 问题日志

查询报错

Failed to initialize storage reader, tablet={tablet_id}.xxx.xxx
  1. 问题说明

查询时,FE让BE返回spec_version范围的数据,但是BE缺部分version了,就会报这个错误。

  1. 问题原因

迁移副本过程可能丢version,在2.0.3修复了,或者在数据导入过程中be宕机。

注意:
如果版本是2.0.1及以前,且它的所有副本last failed version > 0,通常需要重新建表进行导数。

二、问题定位

如上图所示,查询报错的 tablet_id 是 606202, BE ip是 10.xxx, BE 需要包含version 区间 [0 - 35]。

当确定异常tablet_id时,参考如下步骤先进行问题信息收集:

  1. show tablet {tablet_id} (这里是606202),拿到detail cmd

  2. 执行detail cmd的输出

SHOW PROC ' /dbs/10113/591325/partitions/606195/591326/606202";

找出该BE所在的副本(compact status url中包含有该BE的ip)

  1. 执行curl<步骤2的compact status url>, 该例子是
curl  http://10.xxx:8040/api/compaction/show?tablet_id=606202

查看该副本的rowset 和 missing_rowset,重点看rowset 的最大版本(这里是34)和 missing_rowsets。从上图可以看出该副本的rowset 为 0 ~ 34, 且中间不缺version(missing_rowsets为空)。而查询语句中是 special version 是 [0, 35], 但该BE不含version 35。所以需要给该BE补上version 35。

注意:这里的special version实际就是partition的visible version。 它也可以通过如下指令查看。

show partitions from <table-name xxx> where PartitionName = '<partition name xxx>' 

三、问题处理

  1. 确认是否自动修复

由于doris内部会自动做数据均衡和修复,所以当出现数据副本异常时,先确认异常数据副本能否自动修复:

如果是多副本,查看是否存在健康副本。健康副本是指副本version >= special version && last failed version = -1 && isBad = false, 且curl 它的 compact status, missing rowsets 为空。

如果存在这样的副本,把查询报错的副本set bad,如上图所示BackendId为10003上版本远落后于其他两个副本的version,可以通过设置为bad来自动修复。

ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "7552021", "backend_id" = "10003", "status" = "bad");

等待一会(可能需要一两分钟),再执行步骤2中的detail cmd,如果副本都健康了:

version >= special version && last failed version = -1 && isBad = false

且curl它的compact status, missing rowsets为空,说明修补OK了。且执行select count (*) from table_xx 是否OK。

如果没问题,就自动修复完成了,不用往下看。如果还是有问题,接着往下看。

  1. 重新导数手动修复
  • 如果是多个副本都损坏,并且是分区表的情况下,可以删除这个分区,然后手动重建这个分区,重新导入数据即可。
  • 如果是多个副本都损坏,并且是非分区表的情况下,只能删除这个表重新导入数据。
  1. 填充空副本进行修复

注意:
以上两个方法可以恢复丢失的数据,而填充空副本方法,是插入若干个空rowset,它能恢复读写。但如果丢失的rowset是包含数据的,这种方法实质是丢数据的。

空副本修复方式如下:

curl -X POST "http://10.151.2.29:8040/api/pad_rowset?tablet_id=606202&start_version=35&end_version=35"
  • tablet_id table 的 id
  • start_version 起始版本
  • end_version 终止版本

该功能用于使用一个空的 rowset 填充损坏的副本。这个例子中修补的url中 start_version = 35, end_version = 35。

这个例子只是缺一个rowset, 实际中可能缺多个(missing rowset,最大version + 1 ~ special version),缺多少个rowset,就调用多少次修补的方法。

修补完之后,再执行下show tablet xxx,该副本last fail version 是否等于 -1,如果它的version都补上了,但是last fail version = version + 1, 还需要手工执行把last fail version 改成 -1:

ADMIN SET REPLICA VERSION PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "last_failed_version" = "-1");

低版本的doris可能不含这个SQL, 如果不支持这个SQL且是单副本的,通常需要重新建表进行导数。

如果没问题,使用

select count(*) from table_xx;

查看是否可读,可读则说明数据副本问题已处理。

Palo Doris不会用?(基础指南) 本文来源于百度开发者中心https://developer.baidu.com/article/detail.html?id=294240 基础使用指南 在快速入门教程中,我们通过 Doris 的 UI 界面完成了 Doris 的一些基本操作。而在实际生产环境中,用户通常需要使用程序连接到 Doris 并进行各种操作。 Doris 采用 MySQL 协议进行通信,因此用户可以标准的 MySQL 客户端,或者使用各种语言的 MySQL 库、JDBC、ODBC 等连接Doris。本文以 MySQL client 阅读详情

相关推荐

Apache Doris 高频问题排查指南:从报错到性能优化

官方文档-错误码章节](https://doris.apache.org/zh-CN/docs/dev/admin-manual/error-code/)| -400 | 查询超时 | 增大`query_timeout`参数 || -1010 | 函数参数不匹配 | 检查函数签名,如`date_format`格式 |- **FE关键日志**:fe/log/fe.warn.log(搜索`WARN`/`ERROR`)

欢迎技术交流,可项目合作 1712

Doris之数据分布和副本

每个`分桶文件`就是一个`数据分片(Tablet)`,`Tablet是数据划分的最小逻辑单元`。每个 Tablet 包含若干数据行。各个 Tablet 之间的数据没有交集,并且在物理上是独立存储的。

南风知我意 5096

深入解析Apache Doris Tablet副本修复:原理、场景与手动干预指南

在分布式数据库系统中,数据副本机制是保障高可用与数据一致性的核心技术。其原理在于通过多副本冗余存储,结合一致性协议(如Multi-Replica),确保在部分节点故障时服务不中断、数据不丢失。这项技术的核心价值在于为在线业务提供了持续可用的数据服务能力,是构建稳定数据仓库和实时分析平台的基础。在实际的工程实践中,副本的健康状态管理、异常自动探测与修复是运维的关键环节,直接关系到系统的SLA。常见的应用场景包括节点宕机恢复、磁盘损坏替换以及因网络分区导致的副本不一致等。本文将聚焦于Apache Doris中的

weixin_29280219的博客 338

doris的tablet副本修复相关情况总结

在使用doris的时候,由于一些极端情况的出现或者doris本身bug的原因,会出现一些tablet损害的情况,导致数据的插入和查询受到影响,下面总结一下doris副本出现损坏时进行修复的一些情况

任培培的博客 1万+

Docker部署Apache Doris:从单机到集群的完整实践指南

容器化技术通过将应用及其依赖打包成标准单元,实现了环境的一致性与快速部署,其核心原理在于利用操作系统级虚拟化实现资源隔离。这一技术为数据基础设施的搭建带来了革命性价值,尤其在数据仓库与分析平台领域,能够显著降低环境配置复杂度与部署时间。在实际应用场景中,开发者常将容器化与MPP分析型数据库结合,以构建可快速复制的实时数据分析环境。本文聚焦于如何利用Docker容器部署Apache Doris数据库,详细解析了从单机快速启动到使用Docker Compose编排生产级伪分布式集群的全过程,并重点阐述了数据持久

weixin_30463341的博客 356

计算机组成原理课程设计_微程序控制的简单模型机设计

微程序控制的简单模型机设计 要求 基本要求 完成一个简单主机的设计,模型机应具备如下能力:在自行设计的指令集基础上,运行自行编写的简单用户程序,实现特定运算功能。 弹性要求 在此基础上,完成必要的扩展,实现模型机的功能扩展设计,包括:实现多种运算功能(指令集的扩充)、支持更为丰富的寻址方式、有更为完善的微程序设计等。 实验软件和硬件环境 QuartusII, FPGA计算机组...

sailist的记录站 3万+

【Apache Doris】周FAQ集锦:第 4 期

【Apache Doris】周FAQ集锦:第 4 期

ith321的博客 2138

STM32F407-OV7670(无FIFO)-ONENET-实现摄像头画面上传到onenet(EDP协议)

EDP协议 EDP协议文档说明:https://leoeinstein.lanzous.com/ifX1Ckfkaaf 服务器登录 登录流程: (1)客户端发送连接请求(CONN_REQ) (2)服务器验证请求的合法性 (3)服务器发送一个回执(CONN_RESP)给客户端 其中请求包含三部分:消息头、选项和消息体。 1、消息头 包括消息的类型和剩余消息长度。 2、选项 包括协议名称、协议版本、连接标志、保持连接时间。 3、消息体 可能包含设备ID、用户ID(可选)、鉴权信息(看采取什么方式登录)。 设备

LiangWF22的博客 1万+

【Apache Doris】数据均衡问题排查指南

【Apache Doris】数据均衡问题排查指南

atbigapp的博客 3274

关于并网继电器的继电器自检逻辑及实现方式

对于常规的光伏并网逆变器来说,继电器控制至关重要。继电器一般位于逆变电感后,共模电感前,用于将逆变电压与电网电压脱开,一般国外有双继电器的安规强制认证要求,国内目前只需要单继电器要求(后续应该会有双继电器要求,个人感觉)

weixin_29982209的博客 2615

ESP8266+ITR8307实战:如何用反射式光电管实现5cm远距离检测(附避坑指南)

本文详细介绍了如何利用ESP8266的ADC功能与ITR8307反射式光电管,通过调制解调、硬件电路优化及软件同步采样策略,实现5cm稳定远距离检测。文章提供了完整的硬件设计、代码实现与调优避坑指南,有效解决了环境光干扰与信号衰减难题,适用于智能车、自动化等需要可靠非接触检测的项目。

rgv234567的博客 264

Apache Doris 副本故障排查与修复实战指南

Apache Doris 副本故障排查与修复指南 本文针对生产环境中出现的 "no queryable replica found" 错误,系统分析了故障原因与解决方案。错误通常由副本版本同步失败导致,表现为副本标记为正常但实际不可查询。 排查流程: 通过SHOW TABLET定位问题Tablet详情 检查BE节点状态和副本分布 查看FE/BE日志获取错误详情 修复方案: 首选ADMIN REPAIR触发自动修复 数据可丢弃时可删除损坏分区 重要数据需先备份再处理 高级用户可手动设置副本

爱媳妇儿爱编程 832

【面试题】MySQL索引相关的面试题(红黑树,hash,B树,B+树)

自己整理了几个面试题分享给大家 问题1:红黑树为什么那样设计? 首先聊一下二叉搜索树,主要特点是左节点比根节点小,右节点比根节点大,并且左右子树都是二叉搜索树。缺点是在极端情况下,比如插入都是有序的,就会出现退化的情况有序序列树退化成链表。 二叉搜索树 退化成链表的二叉搜索树 此时,要想让树的节点平均分布就需要平衡树了,红黑树就是平衡树的一种(平衡二叉搜索树)。然后,一棵树的查询性能取决...

Mr_黑_ 的博客 4044

Doris 查询正确性问题排查指南

在使用 Apache Doris 的过程中,Unique Key 的正确性问题可能会对数据查询结果和存储一致性产生影响。本文将为大家详细解析这些问题的分类、排查步骤以及解决方案。希望通过这篇文章,让大家对 Unique Key 的正确性排查有一个清晰的认识。

一入大数据深似海?别怕!“数据极客圈”就是你的救生圈,走对圈子跟对人,趣析数据、畅聊趋势,快进圈子! 2014

哨兵一号burst数据的下载和处理

在Sentinel - 1数据处理领域,其基本流程起始于从(ASF)下载原始压缩文件。这些文件规模颇为可观,常规大小约4GB,而部分数据的原文件甚至已攀升至7GB,对存储空间提出了严苛要求。从影像构成来看,每景Sentinel - 1影像由三个干涉宽幅(IW)模式子带组成,每个IW一般包含9个脉冲串(burst)。然而,在实际研究中,我们所关注的研究区域往往仅占据其中寥寥几个burst。

kangkangluoluo的博客 1965

Arch Linux 命令大全,值得收藏!

Arch Linux 是一款轻量级、高度可定制的 Linux 发行版,以其简洁和强大的特性深受高级用户喜爱。但对于新手来说,完全掌握 Arch Linux 的操作需要时间和实践。本文将为您详细介绍常用的 Arch Linux 命令,涵盖系统管理、文件操作、用户管理、软件安装与管理、网络配置和磁盘管理等内容,帮助您更高效地使用 Arch Linux。

网络技术联盟站 973

Apache Doris FE 问题排查与故障分析全景指南

本文将结合官方文档与实际经验,系统梳理 FE 问题排查的完整路径。

一入大数据深似海?别怕!“数据极客圈”就是你的救生圈,走对圈子跟对人,趣析数据、畅聊趋势,快进圈子! 2065

【AI智能体】Dify集成 Echarts实现数据报表展示实战详解

Dify集成 Echarts 实现智能数据报表集成与展示实战详解

congge 5962

永不丢失的盾牌:Doris 多副本机制与高可用架构深度解析

如果节点宕机,我的数据还在吗?这是一个关乎生死的问题。订单记录消失 → 资损传感器数据丢失 → 分析结果错误用户行为缺失 → 推荐系统失效Doris 通过多副本机制和自动故障恢复,将数据可靠性提升到 99.999% 的级别。即使多个节点同时宕机,只要副本数足够,数据依然安全。今天,我们从副本原理到故障恢复,再到最佳实践,完整拆解 Doris 的高可用数据保障体系。机制作用关键参数多副本数据冗余,防止单点故障Quorum 写入保证数据一致性默认多数副本确认读写分离,负载均衡自动修复。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 1948

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

如何排查 Apache Doris 中 “Failed to commit txn“ 导入失败问题?

今天来聊聊 Doris 数据导入那些事儿。你是不是在数据导入的时候遇到各种状况,让人头疼不已?别担心,这篇文章给你答案!

一入大数据深似海?别怕!“数据极客圈”就是你的救生圈,走对圈子跟对人,趣析数据、畅聊趋势,快进圈子! 2234

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Apache Doris 数据导入方案终极指南:原理、优化与问题排查

本文将彻底拆解 Stream Load、Broker Load、Routine Load、Insert into 四大核心方案,从原理解析到导入调优,从数据转换到故障排查,提供一站式解决方案。

一入大数据深似海?别怕!“数据极客圈”就是你的救生圈,走对圈子跟对人,趣析数据、畅聊趋势,快进圈子! 1650

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Apache doris 使用过程中常见问题汇总

这是从社区很多人在使用过程中遇到的问题进行的总结,汇总发布出来方便大家查阅 1.tablet writer write failed, tablet_id=27306172, txn_id=28573520, err=-235 or -215 这个错误通常发生在数据导入操作中。新版错误码为 -235,老版本错误码可能是 -215。这个错误的含义是,对应tablet的数据版本超过了最大限制(默认500),后续写入将被拒绝。比如问题中这个错误,即表示 27306172 这个tablet的数据版本超过了限制。

锋哥聊DORIS数仓 1万+

Doris 容错机制完全解析:从副本策略到故障自愈,四步构建高可用数据体系

层次机制目标数据存储多副本 + 自动修复数据不丢失元数据Raft 协议 + Leader 选举集群管理不中断写入Quorum 机制 + WAL 日志写入不丢数据查询Fragment 重试 + 副本选择查询不中断核心最佳实践生产环境务必配置3 副本 + 3 FE设置合理的资源预留和监控告警定期进行故障演练,验证恢复流程熟悉元数据恢复命令,应对极端情况Doris 的容错设计秉持“故障是常态”的理念,将数据可靠性和服务可用性内建于架构之中。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2248

Apache Doris 数据均衡问题排查指南

当集群处于以下几种情况时,可参考本文进行问题排查。 BE节点之间的数据不均 单个BE节点上的多个磁盘之间的数据不均 BE节点的上线和下线进度卡死(BE的tablet数量没有变化)

一入大数据深似海?别怕!“数据极客圈”就是你的救生圈,走对圈子跟对人,趣析数据、畅聊趋势,快进圈子! 1317

【Apache Doris】BE宕机问题排查指南

【Apache Doris】BE宕机问题排查指南

ith321的博客 4587

Apache Doris实战部署与运维指南

Apache Doris实战部署与运维指南 本文全面介绍了Apache Doris集群的部署配置、性能调优、故障排查和版本升级等核心运维实践。内容涵盖从集群架构规划、硬件配置、网络优化到监控告警、性能分析和数据迁移的完整解决方案,为生产环境提供高可用、高性能的部署指南和运维手册。 集群部署与配置最佳实践 Apache Doris作为一款高性能的MPP分析型数据库,其集群部署与配置直接关系到系统的稳...

gitblog_00689的博客 1288
上一篇: 数据架构新篇章:存算一体与存算分离的协同演进
下一篇: 快速上手AI指令:打造个性化智能交互体验的全面指南
OneMindAI
博客等级 码龄11年 1万+粉丝 370原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OneMindAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值