欢迎查阅本周的 Apache Doris 社区 FAQ 栏目!
在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和开发者分享有关 Apache Doris 的常见问题。
通过这个每周 FAQ 栏目,希望帮助社区小伙伴更好地了解和应用 Apache Doris,促进经验交流和技术共享。
SQL问题
❓Q1 为什么单sql的查询内存不受exec_mem_limit参数的限制
💡A1 exec_mem_limit 主要用于限制一个查询计划中,单个查询计划的实例所能使用的内存。
一个查询计划可能有多个实例,一个 be 节点可能执行一个或多个实例。所以该参数并不能准确限制一个查询在整个集群的内存使用,也不能准确限制一个查询在单一 BE 节点上的内存使用。
数据操作问题
❓Q2 doris导入时报:
[E-124] Arithmetic overflow
💡A2 如下:
- 通常是数值计算结果溢出导致,把decimal范围定义调大些即可
- 可升级至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 如下:
- 分析函数实现流程是否能够优化
- 参考如下文档的【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 灾备可以考虑数据备份恢复和跨集群数据同步的方案:
- 备份即定时做常规的数据备份,出现极端情况的时候,能够基于备份数据进行集群恢复。
- doris提供CCR(Cross Cluster Replication) 即跨级群数据同步工具,能够在库/表级别将源集群的数据变更同步到目标集群,可用于在线服务的数据可用性、隔离在离线负载、建设两地三中心。通常被用于容灾备份、读写分离、集团与公司间数据传输和隔离升级等场景。
CCR跨集群数据同步内容可查阅:
https://doris.apache.org/zh-CN/docs/dev/admin-manual/data-admin/ccr
关于社区
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。
如果您对 Apache Doris 感兴趣,可以通过以下入口访问官方网站、社区论坛、GitHub和dev邮件组:
💡官方文档
💡社区论坛
💡dev邮件组:dev@doris.apache.org
非常欢迎您在社区论坛中与其他用户分享您的使用经验和技巧,或者向dev邮件组提交反馈和意见。
相信,您的参与将帮助Apache Doris变得更加完善。