首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Apache Doris】周FAQ集锦:第 13 期

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

作者头像
一臻数据
发布2024-12-24 15:37:17
发布2024-12-24 15:37:17
2470
举报
文章被收录于专栏:一臻数据一臻数据

引言

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

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

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



SQL问题

Q1 为什么单sql的查询内存不受exec_mem_limit参数的限制

A1 exec_mem_limit 主要用于限制一个查询计划中,单个查询计划的实例所能使用的内存。

一个查询计划可能有多个实例,一个 be 节点可能执行一个或多个实例。所以该参数并不能准确限制一个查询在整个集群的内存使用,也不能准确限制一个查询在单一 BE 节点上的内存使用。

数据操作问题

Q2 doris导入时报:

代码语言:javascript
复制
[E-124] Arithmetic overflow

A2 如下:

1. 通常是数值计算结果溢出导致,把decimal范围定义调大些即可

2. 可升级至2.0或2.1最新的稳定版本(老版本较易出现)

Q3 doris导入时报:

代码语言:javascript
复制
[E-238]too many segments in rowset

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

代码语言:javascript
复制
-- 调大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配置项内容可查阅:

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 导入数据时报:

代码语言:javascript
复制
[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报:

代码语言:javascript
复制
/proc/sys/m/overcomit memory: 2, expect is 1

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

代码语言:javascript
复制
echo 1 > /proc/sys/vm/overcommit_memory

其它问题

Q10 doris如何做灾备?

A10 灾备可以考虑数据备份恢复和跨集群数据同步的方案:

1. 备份即定时做常规的数据备份,出现极端情况的时候,能够基于备份数据进行集群恢复。

2. doris提供CCR(Cross Cluster Replication) 即跨级群数据同步工具,能够在库/表级别将源集群的数据变更同步到目标集群,可用于在线服务的数据可用性、隔离在离线负载、建设两地三中心。通常被用于容灾备份、读写分离、集团与公司间数据传输和隔离升级等场景。

CCR跨集群数据同步内容可查阅:

https://doris.apache.org/zh-CN/docs/dev/admin-manual/data-admin/ccr

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一臻数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档