本文主要是介绍【Apache Doris】周FAQ集锦:第 4 期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【Apache Doris】周FAQ集锦:第 4 期
- SQL问题
- 数据操作问题
- 运维常见问题
- 其它问题
- 关于社区
欢迎查阅本周的 Apache Doris 社区 FAQ 栏目!
在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和开发者分享有关 Apache Doris 的常见问题。
引用
通过这个每周 FAQ 栏目,希望帮助社区小伙伴更好地了解和应用 Apache Doris,促进经验交流和技术共享。
SQL问题
❓Q1 查询报错:[HY000][1105] Can not connect to jdbc due to error: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago
💡A1 JDBC连接异常处理流程参考:
- jdbc的url中加autoReconnect=true参数,并且wait_timeout设置24小时后观察
- 如果是使用catalog时出现的,可以看看mysql信息是否填写错误或者mysql驱动版本的原因
- testOnBorrow打开,可查阅:https://github.com/alibaba/druid/issues/5262
❓Q2 查询报错:[E-230]missed_versions is empty
💡A2 如下:
解决方案:调大be.conf的tablet_rowset_stale_sweep_time_sec参数,并重启BE节点
参数说明:这个参数主要是加大了合并版本的清理时间,尽可能避免刚好查询时需要的版本被合并清理了(写入过于频繁场景容易出现),举个例子:有张表table_a里未合并清理的版本号是1-9,那么这个时候去执行 select * from table_a 它会去查询最新的version 9的数据,如果这段时间table_a同时有写入,版本变成了1-10并且触发compaction及满足tablet_rowset_stale_sweep_time_sec要去清理合并过的版本,变成了一个最新的查询版本1-10,那么这个时候version 9(1-9)就无法查询了,则会出现 select * from table_a 需要的version 9不存在miss从而报missed_versions is empty
BE参数说明可以查阅BE配置项:
https://doris.apache.org/zh-CN/docs/admin-manual/config/be-config
数据操作问题
❓Q1 doris没有时间戳的数据类型,时区是和数据库服务器的时区吗?
💡A1 如下:
- 可以用bigint映射,或者使用datetime是否能满足需求
- 默认东八区,2.1开始支持时间戳类型
Release 2.1,可以查阅:
https://doris.apache.org/zh-CN/docs/dev/releasenotes/release-2.1.0
❓Q2 对已有数据的分区表调整分区分桶数,是否会对历史数据进行重新分桶分区?
💡A2 不会对历史数据进行重新分桶分区,只会影响新分区的分桶数。
❓Q3 分区分桶字段建表后还能变更?
💡A3 不能;和底层数据存储结构有关,当前改bucket只能重新建表导数。
❓Q4 stream load怎么查看对应的profile信息?
💡A4 1.2.7版本后在stream load中设置:-H “enable_profile: true”;当 enable_profile
为 true 时,stream load profile 将会被打印到 be.INFO 日志中。
具体可查阅:
https://doris.apache.org/zh-CN/docs/data-operate/import/import-way/stream-load-manual
❓Q5 doris进行insert时结果数据和预期条数不匹配?
💡A5 如下:
- 源数据到目标端根据key去重了
- 没开严格模式,异常数据(schema不匹配等情况)被过滤了;可以SET enable_insert_strict = true; 后再跑试试看有没有errorURL
- create table 临时表 as select xxx,测下结果记录数是否正确
运维常见问题
❓Q1 be节点出现磁盘损坏了如何处理?
💡A1 如下:
1.>=2副本2be的集群:a. 下掉坏盘b. be配置中将坏盘的存储目录移除c. 重启对应be即可,数据多副本会自动修复
2.单副本集群:a. 下掉坏盘b. 排查异常表,重新建表刷数据
生成环境建议>=3副本3be,提高doris的可用性、容错性、负载均衡和并行处理能力,具体可查阅:
https://doris.apache.org/zh-CN/docs/admin-manual/maint-monitor/tablet-repair-and-balance
❓Q2 doris支持windows吗?
💡A2 暂无计划支持Windows系统,可以用虚拟机或者WLS2。
其它问题
❓Q 编译doris时报错:Failed to parse plugin descriptor for net.sourceforge.czt.dev:cup-maven-plugin:1.6-cdh
💡A net.sourceforge.czt.dev 相关 jar 包下载失败问题,可参考如下方案处理:
1.先更换 mirror 源 url 为如下路径,保存后继续编译,1.6-cdh 下载成功后可再恢复至原有 url 完成编译:
<mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://repository.cloudera.com/repository/libs-release-local/</url>
</mirror>
2.通过以下连接下载 pom 及 jar 包,放至 .m2/net/sourceforge/czt/dev 仓库目录下,完成编译
https://repository.cloudera.com/#browse/search=keyword%3Dnet.sourceforge.czt.dev
具体可以查阅Doris论坛帖子:
https://ask.selectdb.com/questions/D1Jc/yi-jie-jue-docker-bian-yi-shi-cpu-maven-plugin-bao-wen-ti
关于社区
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。
如果您对 Apache Doris 感兴趣,可以通过以下入口访问官方网站、社区论坛、GitHub和dev邮件组:
💡官方文档
💡社区论坛
💡GitHub
💡dev邮件组:dev@doris.apache.org
非常欢迎您在社区论坛中与其他用户分享您的使用经验和技巧,或者向dev邮件组提交反馈和意见。
相信,您的参与将帮助Apache Doris变得更加完善。
一臻数据
这篇关于【Apache Doris】周FAQ集锦:第 4 期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!