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

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

欢迎查阅本周的 Apache Doris 社区 FAQ 栏目!

在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和开发者分享有关 Apache Doris 的常见问题。

通过这个每周 FAQ 栏目,希望帮助社区小伙伴更好地了解和应用 Apache Doris,促进经验交流和技术共享。

SQL问题

❓Q1 查询报错:timeout when waiting for send fragments RPC

💡A1 fragments rpc通信超时导致,处理步骤:

  1. 检查网络是否正常
  2. 可升级至2.x.x新版本(2.0之前出现的较多,2.0比较少出现该异常)
  3. 可参考如下相关参数调整后再观察:
shell 复制代码
be.conf:
fragment_pool_thread_num_max = 2048 

fragment_pool_queue_size = 4096 

brpc_num_threads = 256 

fe.conf
remote_fragment_exec_timeout_ms = 30000 

具体可以查阅Doris论坛帖子:
https://ask.selectdb.com/questions/D1F4/she-qu-wen-ti-timeout-when-waiting-for-send-fragments-rpc-yi-chang/E1G4

❓Q2 为什么with select语法兼容,但insert into with select不支持?

💡A2 两种方式参考:

  1. insert into tabl with lable xxx
  2. insert into table (xxx)

具体demo可以查阅官方文档对应章节:
https://doris.apache.org/zh-CN/docs/data-operate/import/import-way/insert-into-manual/

数据操作问题

❓Q1 导入报错:get tableList write lock timeout

💡A1 如下:

  1. 通常是因为FE JVM内存设置太小,或者FE/BE混布导致的
  2. 出现该异常时,单独打一个 jstack,联系社区同学具体分析:
    jstack -l pid > 1.js
    具体可以查阅Doris论坛帖子:
    https://ask.selectdb.com/questions/D1O5/doris-2-0-4-get-tablelist-write-lock-timeout

❓Q2 stream load时报错:[PUBLISH TIMEOUT]transaction commit successfully, BUT
data will be visible later

💡A2 导入实际时成功的,只是延迟可见。在Apache Doris 2.0.4已优化,建议升级至>=2.0.4的版本。

Release 2.0.4,可以查阅:
https://doris.apache.org/zh-CN/docs/releasenotes/release-2.0.4

❓Q3 表中有个insertTime字段是默认生成时间的,streamload导入csv数据(不包含insertTime)时报错:actual column number in csv file is less than schema column number

💡A3 如果指定 columns ,需要包含所有表字段,例如

-H "columns: a,b,c,d,insertTime=current_timestamp()"

运维常见问题

❓Q1 BE无法正常启动:

shell 复制代码
W0304 16:03:13.052549 14927 olap_meta.cpp:80] rocks db open failed, reason:IO error: While lock file: /data/doris/be/storage/meta/LOCK: Resource temporarily unavailable 

W0304 16:03:13.053174 14927 data_dir.cpp:203] init OlapMeta failed, error: [IO_ERROR]open rocksdb failed, path=/data/doris/be/storage

💡A1 如下:

  1. be节点的磁盘损坏,需要检查目录磁盘是否健康
  2. 确认是否有自动拉起进程,可能是连续启动be导致:
    a. 若有自动拉起进程,则先stop
    b. 将be/storage/meta的LOCK文件移走
    c. 重启be即可

❓Q2 是否可以跨2个机房搭建Doris集群?

💡A2 如下:

  1. 不建议跨机房部署;跨机房之间的延迟一般是毫秒级,正常同机房时延级别在0.1ms以内,容易频繁出现brpc timeout异常
  2. 如果是主备场景,可以使用CCR:Apache Doris 2.0 推出跨集群数据复制功能

❓Q3 FE集群异常,fe.log :Clock delta: xxxx ms. between Feeder: xxxx and this Replica exceeds max permissible delta: xxxx ms

💡A3 非主 FE 到主 FE 主机之间的最大可接受时钟偏差超过默认值5秒导致,需要开启 ntp 确保时间同步,小于默认的5秒时差。由fe的max_bdbje_clock_delta_ms参数控制。

FE配置项:
https://doris.apache.org/zh-CN/docs/admin-manual/config/fe-config

❓Q4 Doris出现事务回滚失败后,回滚失败的数据会怎么处理?

💡A4 内部会有 GC 的逻辑,去定期删除清理。

其它问题

❓Q 基于Doris做数据分层和实时计算,有哪些方案?

💡A 关于Doris做数据分层和实时计算的方案可参考:

  1. 借助外部调度工具,比如DolphinScheduler,按分钟级微批调度分层
  2. 物化视图,实时地同步聚合(预聚合);2.1版本会发布多表物化视图,相当于大部分场景可以不借助外部调度工具,在Doris内部即可实现异步定时分层了
  3. Flink APP中进行分层将数据sink至doris,例如ods -> kafka -> flink -> dw -> kafka -> flink -> doris
  4. 后续规划doris binlog,即可实现ods -> doris <-> flink,当前还未出具体计划、可以持续关注中

在doris binlog未发之前,大部分用户选择的是前两种方式,因为绝大多数用户场景是允许3-5分钟左右的数据可见延迟。

关于社区

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。

如果您对 Apache Doris 感兴趣,可以通过以下入口访问官方网站、社区论坛、GitHub和dev邮件组:

💡官方文档

💡社区论坛

💡GitHub

💡dev邮件组:dev@doris.apache.org

非常欢迎您在社区论坛中与其他用户分享您的使用经验和技巧,或者向dev邮件组提交反馈和意见。

相信,您的参与将帮助Apache Doris变得更加完善。

相关推荐
PersistJiao38 分钟前
在 Spark RDD 中,sortBy 和 top 算子的各自适用场景
大数据·spark·top·sortby
2301_811274311 小时前
大数据基于Spring Boot的化妆品推荐系统的设计与实现
大数据·spring boot·后端
Yz98761 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
青云交1 小时前
大数据新视界 -- 大数据大厂之 Hive 数据导入:多源数据集成的策略与实战(上)(3/ 30)
大数据·数据清洗·电商数据·数据整合·hive 数据导入·多源数据·影视娱乐数据
武子康1 小时前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs
武子康1 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
时差9531 小时前
Flink Standalone集群模式安装部署
大数据·分布式·flink·部署
锵锵锵锵~蒋1 小时前
实时数据开发 | 怎么通俗理解Flink容错机制,提到的checkpoint、barrier、Savepoint、sink都是什么
大数据·数据仓库·flink·实时数据开发
二进制_博客1 小时前
Flink学习连载文章4-flink中的各种转换操作
大数据·学习·flink
大数据编程之光1 小时前
Flink入门介绍
大数据·flink