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

Viewed 119

欢迎查阅第 13 期的 Apache Doris 社区 FAQ 栏目!
在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和开发者分享有关 Apache Doris 的常见问题。
通过这个每周 FAQ 栏目,希望帮助社区小伙伴更好地了解和应用 Apache Doris,促进经验交流和技术共享。

1 Answers

SQL问题      

❓Q1 为什么单sql的查询内存不受exec_mem_limit参数的限制
💡A1 exec_mem_limit 主要用于限制一个查询计划中,单个查询计划的实例所能使用的内存。
一个查询计划可能有多个实例,一个 be 节点可能执行一个或多个实例。所以该参数并不能准确限制一个查询在整个集群的内存使用,也不能准确限制一个查询在单一 BE 节点上的内存使用。

数据操作问题

❓Q2 doris导入时报:

[E-124] Arithmetic overflow

image.png
💡A2 如下:

  1. 通常是数值计算结果溢出导致,把decimal范围定义调大些即可
  2. 可升级至2.0或2.1最新的稳定版本(老版本较易出现)

❓Q3 doris导入时报:

[E-238]too many segments in rowset

💡A3 通常在大宽表场景进行大数据量导入时容易出现,解决方案:

-- 调大be.conf的max_segment_num_per_rowset
curl -X POST http://{be_ip}:8040/api/update_config?max_segment_num_per_rowset=3000\&persist=true
BE配置项内容可查阅:

BE配置项内容可查阅:
https://doris.apache.org/zh-CN/docs/dev/admin-manual/config/be-config

❓Q4 doris自定义java udf时内存使用过多如何优化
💡A4 如下:

  1. 分析函数实现流程是否能够优化
  2. 参考如下文档的【static 变量加载】优化:
    https://github.com/apache/doris-website/blob/fb0814a0ebf855265d94dd8f2cc3fdd979e5caf5/i18n/zh-CN/docusaurus-plugin-content-docs/current/ecosystem/udf/java-user-defined-function.md#static-%E5%8F%98%E9%87%8F%E5%8A%A0%E8%BD%BD

❓Q5 doris中的observer是否可以进行写操作
💡A5 doris的fe节点分为master、follower和observer 三种角色。其中,observer 节点主要用来扩展查询服务的节点,不参与元数据的写操作和事务的协调。因此,通常情况下,observer 节点是不支持写的。它仅用于读取查询,以分担查询压力,提高查询效率。
如果写入时仅通过observer能够正常完成,是因为observer的写操作转移到了具备写能力的follower去load,而不是因为observer具备写能力。

❓Q6 导入数据时报:

[INTERNAL_ERROR]too many filtered rows

💡A6 通常是由于导入的数据中存在数据质量问题导致。可以查看返回的errUrl,从errUrl中能够得到具体的报错信息。例如表字段长度不对称、字段分割后数量对不上或数据格式不匹配等原因说明。

❓Q7 flink-doris-connector无法写入数据,且程序正常无报错
💡A7 通常是没开checkpoint的原因导致。

运维常见问题

❓Q8 doris如何设置密码复杂度校验
💡A8 doris的密码复杂度校验由全局变量 validate_password_policy控制。该功能由全局变量 validate_password_policy 控制。默认为 NONE/0,即不检查密码强度。如果设置为 STRONG/2,则密码必须包含“大写字母”,“小写字母”,“数字”和“特殊字符”中的 3 项,并且长度必须大于等于 8。
密码强度内容可查阅:
https://doris.apache.org/zh-CN/docs/dev/admin-manual/auth/authentication-and-authorization

❓Q9 doris be启动失败时be.out报:

/proc/sys/m/overcomit memory: 2, expect is 1

💡A9通常是由于系统内存的分配策略存在异常导致,需要将 overcommit_memory 修改为 1 后重启be:
echo 1 > /proc/sys/vm/overcommit_memory

其它问题

❓Q10 doris如何做灾备?
💡A10 灾备可以考虑数据备份恢复和跨集群数据同步的方案:

  1. 备份即定时做常规的数据备份,出现极端情况的时候,能够基于备份数据进行集群恢复。
  2. doris提供CCR(Cross Cluster Replication) 即跨级群数据同步工具,能够在库/表级别将源集群的数据变更同步到目标集群,可用于在线服务的数据可用性、隔离在离线负载、建设两地三中心。通常被用于容灾备份、读写分离、集团与公司间数据传输和隔离升级等场景。
    image.png
    CCR跨集群数据同步内容可查阅:
    https://doris.apache.org/zh-CN/docs/dev/admin-manual/data-admin/ccr

一臻数据

关于社区

doris_new03.png

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。
如果您对 Apache Doris 感兴趣,可以通过以下入口访问官方网站、社区论坛、GitHub和dev邮件组:

💡官方文档

💡社区论坛

💡GitHub

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

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

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