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

Viewed 137

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

SQL问题      

❓Q1 2.1.0和2.1.1版本查询报错:[E-3113]string column length
💡A1 调大 parallel_pipeline_task_num 会话参数解决;例如:32c 256G的配置,set parallel_pipeline_task_num = 16 或设置为32可解决。
具体可以查阅Doris论坛帖子:
https://ask.selectdb.com/questions/D1wp/2-1-0-he-2-1-1-bao-e-3113-string-column-length

❓Q2 jdbc catalog查询报错:Can not connect to jdbc due to error: wait millis 5000, active 10, maxActive 10, creating 0, Catalog
image.png
💡A2 jdbc catalog 连接超限导致,默认是10,需要修改连接池的最大连接数或重建catalog加上这个参数:

alter catalog <catalog_name> set properties ('connection_pool_max_size' = '100') 

具体可以查阅Doris论坛帖子:
https://ask.selectdb.com/questions/D1Sg/doris-ban-ben-2-1-0-zai-jin-xing-shu-ju-dao-ru-de-shi-hou-be-bao-cuo-caused-by-getconnectiontimeoutexception-wait-millis-5000-active-10-maxactive-10-c

数据操作问题

❓Q3 字符类型定义为varchar还是string?
💡A3 如下:

1. key列没法用string,非key列如果65533长度能够满足,可以定义为varchar(65533),大于这个范围可以用string
2. varchar(65533)的65533只是定为字符长度上限,实际占用的以数据存储多少为主

❓Q4 2.1 版本的create job能否放多条sql语句?
💡A4 当前不能;但依赖关系后续大概率会做,即任务编排dag。
2.1 create job内容可以查阅:
https://doris.apache.org/zh-CN/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-JOB

❓Q5 2.1 版本的异步视图是否支持秒级更新?
💡A5 当前最细颗粒度是分钟级;后续会研究同步多表物化视图来解决实时性比较高的场景。
2.1异步物化视图内容可以查阅:
https://doris.apache.org/zh-CN/docs/query-acceleration/async-materialized-view/

❓Q6 2.1 版本的arrow flight端口和 fe对arrow flight端口是否需要一样?
💡A6 可用端口即可,可以不一样。
2.1 arrow flight sql protocol内容可以查阅:
https://github.com/apache/doris/issues/25514

❓Q7 1.2升级至2.0后,表结构里面无法区分是decimalv1还是v3了?
💡A7 新版本对于新创建的表没有v1和v3这一区分了,统一为decimal v3;对于存量的表,还是旧的decimal类型,如果修改,需要手动修改列类型。

运维常见问题

❓Q8 为什么information_schema的库表不能删改?
💡A8 information_schema的库表没有物理实体,都是虚拟表,所以无法进行删改。

❓Q9 服务器有主ip和vip(nginx+keepalived),vip做负载均衡:

可否将: priority_networks = 10.0.0.0/24
改成: priority_networks = 10.0.0.128/25 
并且vip设为10.0.0.10来确保keeplived和doris均正常启动? 
改完后10.10.0.127以下的访问doris集群是否会有异常?

💡A9 结合initAddrUseIp的逻辑分析:
image.png
fe 进行 initAddrUseIp 时会从符合该规则范围的 ip 地址中选择一个作为本地地址,如果没有任何 ip 地址符合规则,fe 进程将停止并报错退出;
所以,如果 vip 设为 10.0.0.10,并且新的 priority_networks 配置为 10.0.0.128/25,只要服务器的主 ip 或其它 ip 在 10.0.0.128/25 范围内,doris 和 keepalived 应该能够正常启动;
否则,将无法启动,并且需要重新调整 IP 地址配置。

其它问题

❓Q10 doris 默认为3副本, 如果有5个BE节点,那么设置副本数为5,对于查询性能是否能有显著的提升?
💡A10 副本数主要为了保证数据安全性,一般3副本就能满足单节点故障;5副本的集群,对于故障的容忍率也会更高些,读写可以容忍2副本故障,但是资源相对会占用更多些。副本数,主要是保障数据的可用性和可靠性,对于性能方面并不是副本越多,查询越快。


一臻数据

0 Answers