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

Viewed 174

欢迎查阅本周的 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连接异常处理流程参考:

  1. jdbc的url中加autoReconnect=true参数,并且wait_timeout设置24小时后观察
  2. 如果是使用catalog时出现的,可以看看mysql信息是否填写错误或者mysql驱动版本的原因
  3. 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 如下:

  1. 可以用bigint映射,或者使用datetime是否能满足需求
  2. 默认东八区,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 如下:

  1. 源数据到目标端根据key去重了
  2. 没开严格模式,异常数据(schema不匹配等情况)被过滤了;可以SET enable_insert_strict = true; 后再跑试试看有没有errorURL
  3. 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


一臻数据

0 Answers