老张用 Workload Group 当“班主任“,把Doris集群治理得服服贴贴

Doris Workload Group 显示异常排查:Ranger 权限与版本兼容的双重挑战 摘要: 某Doris 2.1.9集群集成Apache Ranger后,出现自定义Workload Group"消失"问题,但配置验证显示资源组已生效。排查发现并非版本缺陷,而是Ranger权限拦截所致。关键原因在于USAGE权限缺失导致元数据访问被拒绝。解决方案包括在Ranger中配置USAGE权限、验证权限生效及建议版本升级。案例揭示了权限管控与版本缺陷的叠加效应,强调分层验证和对比测试的重要性。通过配置Ranger权限策略,最终解决了Workload Group显示异常问题,验证了权 阅读详情

数据库老张正呼呼大睡着,突然被告警电话吵醒:
"老张,快看监控,集群要炸了!“这已经是本周第三次了。
每次都是那个数据分析师的"神仙查询”,一跑就把内存吃光,害得其他查询都跪了。
正当老张抱怨"这日子没法过了"的时候,他发现了Doris有个救命稻草——Workload Group。
这个"资源管理老师"不仅能管住调皮的查询,还能让不同业务和谐共处。从此,老张终于能睡个安稳觉了。
今天,让我们跟着老张一起,揭秘这个让DBA摆脱"通宵值守"的法宝!

[]

Doris多租户战争中的和平使者

运维老李一大早就收到告警,气急败坏地喊来了数据库老张: “老张,快来看监控,那个大数据分析师又把集群跑挂了!”

"唉,又是这样。"老张叹了口气,“昨天是机器学习团队的特征计算把CPU打满,前天是BI团队的即席查询吃光内存,今天又是数据分析师的全表扫描…”

这种场景相信很多Doris运维同学都不陌生。

在一个共享的数据库集群里,各种查询好比一群贪吃的小朋友,都想抢占最多的资源。如何让他们和平共处?这就需要一个"资源管理老师" - Workload Group登场了。

[tu]

Doris Workload Group好比一所特殊的"查询学校"的"班主任"管理员。

在这所学校里,不同类型的查询就像不同班级的学生:ETL作业是勤勤恳恳的实验班,报表查询是需要准时完成作业的重点班,即席查询则像个创新实验室,充满了不确定性。

每个"班级"都有自己的专属教室(CPU资源)、自习室(内存空间)和图书借阅配额(IO带宽)。学校里有两种管理模式:

温柔模式(软限制):

  • CPU教室:空教室可以借用给需要加班的同学
  • 自习室:图书馆没人时可以多占几个座位
  • 但一旦资源紧张,必须按原定计划让座

严格模式(硬限制):

  • CPU教室:只能用自己班的教室,不得超员
  • 自习室:超出座位限制就请同学离开
  • 图书借阅:每天固定配额,绝不超借

老张配置好Workload Group后,终于不用再担心"熊孩子"们打架了:

  • ETL作业乖乖待在实验室做大规模计算
  • 报表查询按时完成日常作业不受干扰
  • 即席查询有了自己的创新空间又不会影响他人

最妙的是,这些规则都是自动执行的,再也不用半夜被告警电话吵醒了!

Doris资源调度指南

运维老李八卦地问道: “老张,我发现你最近都睡得挺好,不再有半夜被电话轰炸的情况了?”

“可不是嘛!自从给’查询学校’配好’课程表’后,日子清静多了。”,老张得意地晃了晃手中的咖啡杯: “我来分享下这套’教学管理系统’的配置经验。”

[tu]

"来,我们先给’查询学校’装修一下教室。"老张打开了终端,开始演示配置步骤:

环境装修

"首先要给每个班级划分专属区域。"老张解释道,“我们用CGroup来实现这个功能。”

# 详细步骤参考:https://doris.apache.org/zh-CN/docs/dev/admin-manual/workload-management/workload-group
# 创建cgroup目录(如果是cgroup v1就在cpu目录下新建)
mkdir /sys/fs/cgroup/cpu/doris

# 设置权限
chmod 770 /sys/fs/cgroup/cpu/doris
chown -R doris:doris /sys/fs/cgroup/cpu/doris

“这就像给学校划分好了教学楼和活动区,接下来就可以开始’招生’了!”

班级配置艺术

"现在来创建不同的’班级’。"老张熟练地敲击键盘:

-- 创建ETL实验班
CREATE WORKLOAD GROUP etl_group PROPERTIES(
    'cpu_share' = '1024',
    'memory_limit' = '40%',
    'enable_memory_overcommit' = 'false'
);

-- 创建报表重点班
CREATE WORKLOAD GROUP report_group PROPERTIES(
    'cpu_hard_limit' = '50%',
    'memory_limit' = '30%',
    'max_concurrency' = '20'
);

“看到了吗?ETL班用的是CPU软限制,像个开放的实验室;报表班用的是CPU硬限制,就像固定教室只给重点班使用。”

学籍管理妙招

"有了班级,还要给学生分配班级。"老张继续演示:

-- 设置用户默认组
SET PROPERTY FOR 'etl_user' 'default_workload_group' = 'etl_group';

-- 临时调整组别
SET workload_group = 'report_group';

“这样,ETL用户的查询就会自动进入ETL实验室,需要时还可以临时换到其他教室。”

监控巡查有方

"最后别忘了装个’监控摄像头’。"老张打开了监控面板:

-- 查看资源使用情况
SELECT * FROM information_schema.workload_group_resource_usage;

“这样就能实时看到每个’班级’的表现了:谁在偷懒,谁太活跃,一目了然!”

老李看得连连点头:“妙啊!这套系统既能让学生各司其职,又能灵活调配资源。”

"关键是要用对方法。"老张总结道,“好比带孩子,既不能太严厉,也不能太放纵。找到平衡点,整个’学校’就能和谐运转了。”

Doris"查询学校"实战演练记

"老张,临时有个业务需求,能给讲讲你们线上是怎么玩转Workload Group的吗?"某日,隔壁团队的小王找上了老张。

"正好我这儿有几个经典案例。"老张打开了他的"成功案例"笔记本。

[tu]

"说个我们遇到的典型问题。"老张喝了口咖啡,“之前有个数据分析师,喜欢写即席查询做数据探索,动不动就是全表扫描,经常把内存吃光。”

即席查询驯服记

"看看这个内存使用曲线。"老张指着监控图表,“每次他的查询一跑,内存就像坐过山车。我们是这样解决的:”

-- 创建即席查询专属组
CREATE WORKLOAD GROUP adhoc_group PROPERTIES(
    'memory_limit' = '30%',
    'enable_memory_overcommit' = 'false',
    'max_concurrency' = '5',
    'max_queue_size' = '10',
    'queue_timeout' = '300000'
);

“这就像给他划了个小实验室,只能用30%的内存,最多同时跑5个查询,其他的要排队,等待超过5分钟就自动取消。”

监控显示,配置后内存用量平稳了,其他业务也不受影响了。

ETL任务的CPU之争

"再说个CPU管理的案例。"老张继续道,“我们有个ETL任务,每天凌晨要处理大量数据,CPU使用率经常90%以上,导致早上上班后报表查询特别慢。”

解决方案是设置CPU硬限制:

-- 配置ETL组CPU限制
CREATE WORKLOAD GROUP etl_group PROPERTIES(
    'cpu_hard_limit' = '30%',
    'read_bytes_per_second' = '104857600'
);

-- 配置报表组
CREATE WORKLOAD GROUP report_group PROPERTIES(
    'cpu_hard_limit' = '50%'
);

“这样ETL任务最多只能用30%的CPU,主要算力留给报表使用。而且我们还限制了它的IO,防止疯狂读盘影响其他查询。”

…

小王听得连连点头:“这么看来,Workload Group就像个智能管家,给每个业务都安排得妥妥的。”

"对,关键是要理解各个业务的特点。"老张总结道,“比如即席查询需要内存控制,ETL需要CPU限制,数据导入要管理IO。配置合理了,整个系统就能运转自如。”

"最重要的是,再也不用半夜爬起来处理告警了!"老张得意地伸了个懒腰。

这就是老张的Workload Group实战经验分享,希望能帮助你解决Doris资源管理的烦恼。

下期,我们将一起探讨其它更有趣有用有价值的内容,敬请期待!

【doris】分布式安装(二)- workload group 本文介绍了Doris数据库中的Workload Group资源分配和权限管理。Workload Group通过细粒度的资源划分(CPU、内存、IO)实现负载隔离,支持软限和硬限两种模式。软限动态调整资源分配,硬限则严格限制资源使用。文章详细讲解了如何配置硬限,包括服务器准备、CGroup设置、BE和FE的配置调整,以及如何通过SQL语句配置Workload Group的硬限参数。此外,还介绍了如何创建新用户、分配权限,并将其加入特定的Workload Group。本文为Doris的资源管理和权限控制提供了基 阅读详情

相关推荐

Doris实战——银联商务实时数仓构建

Doris实战——银联商务实时数仓构建

爱吃辣条的博客 2257

Doris workload group实战

2.给用户赋予数据库权限 全局开启,已经开启的话就不用再执行了 创建workload group 5.给用户赋予WORKLOAD权限

wangleigiser的博客 1964

Doris实战——特步集团零售数据仓库项目实践

Doris实战——特步集团零售数据仓库项目实践

爱吃辣条的博客 2368

Doris多租户资源、库、表、字段管理详细步骤

如果workload已经绑定用户或者角色 需要删除得需要先分配给 normal,才可进行删除,或者取消对应角色/用户授权也可删除。库表权限:SELECT_PRIV,LOAD_PRIV,ALTER_PRIV,CREATE_PRIV,DROP_PRIV。1、在 FE 中开启 CPU 的硬限的功能,如果有多个 FE,那么需要在每个 FE 上都进行相同操作。ctl.db.* 权限可以应用于指定库下的所有表。2、查看所有授权,可以查看到该资源组已授权成功。2、查看所有授权,可以查看到该资源组已授权成功。

sunxunyong的博客 1168

weblogic启动异常故障处理(boot认证失败)

root 用户生成的文件属主为 root,WebLogic进程将无权读取,直接导致认证失败。· ⚠️ 密码必须完全一致:第3步 AdminAccount 命令中设置的密码,与第5步所有 boot.properties 文件中 password= 字段的值,必须保证完全一致。如果您的域下配置了受管服务器实例(如 ms_server1、ms_server2 等),必须逐一更新各实例下的免密启动文件,确保实例重启时密码与AdminServer保持一致,否则实例启动会因认证失败而报错。此步骤至关重要,必须执行。

weixin_53389944的博客 220

拯救者R7000P(2021)装双系统Ubuntu20.04 解决联发科MT7921无线网卡在Ubuntu中不能联网

拯救者R7000P(2021)装双系统Ubuntu20.04/Ubuntu18.04 电脑配置:联想拯救者R7000P CPU:AMD R7-5800H GPU:RTX3060-6G 内存:16GB 固态:500G(原装)+500(加装) 1.做系统盘(本文以Ubuntu20.04为例) 1.下载Ubuntu20.04镜像 直接去Ubuntu官网或者一些国内的镜像去下载都可以,这里给出一个网址https://ubuntu.com/download/desktop,根据需要下载自己学要的Ubuntu版本,后缀

qq_41108639的博客 1万+

Apache Doris 基于 Workload Group 的负载隔离能力解读|Deep Dive

技术团队现如今企业的数据查询需求在不断增多,在共享同一集群时,往往需要同时面对多个业务线或多种分析负载的并发查询。在有限的资源条件下,查询任务间的资源抢占将导致性能下降甚至集群不稳定,因此负载管理的重要性不言而喻。在早期版本中,Apache Doris 推出了基于资源标签(Resource Tag)的隔离方案,包括集群内节点级别的资源组划分以及针对单个查询的资源限制,实现了不同用户间的资源物理隔离。而为给用户提供更完善的负载管理方案,

SelectDB 1849

卷积码Viterbi译码算法原理及C语言实现

具体而言,卷积码的编码过程是将输入数据和编码器中的状态进行异或操作,输出码字为各个状态对应的结果。Viterbi译码算法是一种最大似然译码算法,根据接收到的含有噪声的码字,寻找出最有可能的原始数据序列。(2) 递推计算:根据接收到的码字和当前状态,计算下一时刻各个状态的路径度量,并记录每个状态的前驱状态。以上代码实现了一个简单的卷积码Viterbi译码算法,通过接收到的码字进行译码,并输出解码结果。(1) 初始化:将所有状态的路径度量初始化为一个很大的值,选择路径度量最小的状态作为起始状态。

2301_79331421的博客 826

doris:Workload Group

doris:Workload Group

qq_36070104的博客 1172

Challenge 4 - OSCP A

在c盘下发现一个windows.old,在里面可以找到SYSTEM和SAM文件,下载到本地,利用samdump2解密发现没解出来,再来试试pwdump.py(https://github.com/CiscoCXSecurity/creddump7)得到压缩包密码bludecode,解压之后发现一个比较特殊的文件configuration.php,里面有两个类似密码的字符串。登录之后在/opt/backups/下发现几个特殊文件,其中sitebackup3.zip是个正常的压缩包。但是这个压缩包是有密码的。

羽的博客 5780

Modbus协议介绍及解析

Modbus协议介绍及解析 1.Modbus简介 Modbus是一种广泛应用于工业控制领域串行通信协议,以其开放性、高可靠性、高效简单性、免费等优点,成为了工业领域通信协议的业界标准,是工业现场电子设备之间常用的连接方式。Modbus按其格式可分为Modbus-RTU,Modbus-ASCII,Modbus-TCP,其中前两者适用于串行通信控制网络中,例如RS485,RS232等,而Modbus-TCP主要应用于基于以太网TCP/IP通信的控制网络中。通过此协议,控制器相互之间、或控制器和其它设备之间进行通

逍遥子的博客 1万+

workload 资源隔离 操作

- 设置一个默认的,如果不设置 默认是normal, 当前执行sql前执行session 变量,使用到 workload_group 分组。"enable_memory_overcommit"="true", -- 内存软隔离。"enable_memory_overcommit"="true", -- 内存软隔离。"enable_memory_overcommit"="true", -- 内存软隔离。BE 主要针对导数,olap大查询,按队例,oltp即时查询。-- 导入角色对表的操作全部权限。

celltobig的专栏 986

PHP实现SM2算法(附完整源码)

PHP实现SM2算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 4022

ETLCloud+Doris组合:数据集成,更简单更高效

ETLCloud与Doris组合提供高效数据集成解决方案,支持实时数据写入查询,通过拖拽式界面简化数据集成流程,增强数据分析能力,降低运维成本,助力企业实现数据驱动决策。

RestCloud的博客 1211

【CASS精品教程】035:南方CASS7.1台阶画法案例大全

摘要:本文详细介绍了南方CASS7.1软件中5种台阶工具的使用方法,包括普通台阶、有边台阶、L型台阶、U型台阶和不规则台阶。重点说明各类台阶的绘制步骤和注意事项,如绘制方向(从右下角逆时针连接4个点)、台阶方向标识(白色边为下边)、台阶数自动生成不可更改等特性。同时指出高版本CASS可能存在操作差异,并配以多张示意图直观展示各类台阶的绘制过程和效果,为使用CASS7.1绘制建筑台阶提供了实用指导。(148字)

智慧空间实验室 2920

【软考中级网络工程师】知识点之 IP QoS 技术

本文围绕软考中级网络工程师必备的 IP QoS 技术展开,系统阐述其核心知识。首先解析 IP QoS 的定义、重要性及应用场景,揭示其在视频会议、在线游戏等场景的关键作用;接着深入讲解技术原理,包括流量分类与标记、整形与限速、拥塞管理及 RSVP 协议;随后对比尽力而为、IntServ、DiffServ 三种服务模型的特点;还介绍了配置实践与案例分析,探讨其与 SDN、5G 等技术的融合趋势。旨在帮助读者全面掌握 IP QoS 技术要点,为网络规划与优化提供理论与实践指导。

邓邓子的博客 1086

Istio对接虚拟机

按照官方文档配置,但是却没有成功,问题还在查询中,问题生成的hosts文件为空,虚拟机上istio启动失败,以下是操作步骤大致原理istio通过workloadEntry和serviceEntry来关联和管理虚拟机,一个workloadEntry可以用来描述一个vm实例,serviceEntry通过workloadSelector标签来绑定workloadEntry,虚拟机启动一个实例时会自动注册,此时istio就可以访问虚拟机了。...

gpy1240301202的博客 1522

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

解决Apache Doris占用CPU和内存过高

解决Apache Doris占用CPU和内存过高

ronshi的博客 5053

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

doris:调度管理

doris:调度管理

qq_36070104的博客 1601

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%

亲爱的社区小伙伴们,我们很高兴地向大家宣布,在 3 月 8 日我们引来了的正式发布,欢迎大家下载使用。在 2.1.0 版本的研发过程中,后续我们将会持续敏捷发版来响应所有用户对功能和稳定性的更高追求,欢迎大家在使用过程中给予我们更多反馈。

SelectDB 4260

【Doris实战】Doris上资源管理调研说明

Doris如何进行资源隔离。多租户使用Doris需要的资源管理

有问题的请私信或关注v【技术印记】留言 1512

Flink 学习日志 03:自定义一个SourceFunction,完成对Redis中数据的读取

本文介绍了在Flink中自定义SourceFunction读取Redis数据的完整流程:通过Jedis客户端连接WSL2中的Redis服务,编写RedisSource实现循环读取所有Key-value并逐条输出,结合Thread.sleep()实现每秒一条的流式效果。关键步骤包括环境准备、添加Jedis依赖、配置IDEA运行时加载provided依赖,并注意生产环境中应避免使用阻塞的keys *,改用scan命令。最终实现动态读取、实时打印,验证了Flink与Redis的数据集成能力。

木木的学习笔记 413

Day3 - Flink 窗口与时间语义:从滚动窗口到迟到数据处理

水位线是一个特殊的时间戳,代表"小于这个时间戳的数据都已经到齐了比如水位线推进到 10:00:05,就告诉 Flink:10:00:05 之前的数据应该都到了,如果还有晚于这个时间到达但时间戳小于 10:00:05 的数据,就是"迟到数据"。窗口大小固定,窗口之间不重叠,数据只属于一个窗口。时间线: 0 10 20 30 40 50 60窗口1: [--------)窗口2: [--------)窗口3: [--------)窗口4: [--------)

YEEMOLY的博客 245

智能问诊的流程

本文介绍基于FastAPI构建的医疗多Agent系统MediAgent,通过症状分析、诊断推理与治疗建议等模块协同,实现从问诊到报告生成的完整工作流。系统采用前后端分离架构,结合MySQL、RabbitMQ与Docker实现工程化部署,支持异步化验结果接入。虽当前状态暂存于内存,但已具备可扩展性,未来可通过Redis持久化、消息队列联动及医疗安全机制完善,应用于慢病管理、辅助决策等场景,推动AI在医疗流程中的落地应用。

Joey 的工作空间~ 590
上一篇: 3分钟搞懂Arrow Flight SQL,让数据传输提速100倍的秘密
下一篇: 全网最全Doris+DeepSeek使用手册(客服/图表/PPT/贺岁诗)!学会了Doris熟练度提高90%【建议收藏】
一臻数据
博客等级 码龄4年 670粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值