Doris多租户介绍
Doris多租户介绍
Doris多租户的特性是通过内核Workload Group资源软限制的方案实现的,通过“用户 > 租户角色 > Workload Group”模型对Workload进行分组管理,以保证内存和CPU资源的灵活调配和管控。目前支持CPU、内存、并发数和等待队列管理,模型设计如图1所示。
- 该特性仅MRS 3.3.1及之后版本支持。
- 仅集群已启用Kerberos认证(安全模式)支持在Manager界面创建和管理Doris多租户。
- MRS 3.5.0及之后版本,MRS Doris默认租户“normal”的内存占比是90%,并发数是“10000”。
用户与租户关联后,该用户提交的query任务就与Workload Group相关联,可以限制单个查询在BE节点上的CPU和内存资源的百分比,和配置资源组的内存软隔离。
开启内存软隔离后,当集群资源紧张时,将自动结束组内占用内存最大的若干个查询任务以减缓集群压力。当集群资源空闲时,一旦Workload Group使用资源超过预设值时,多个Workload将共享集群可用空闲资源并自动突破阈值,继续使用系统内存以保证查询任务的稳定执行。与此同时,在Workload Group中引入了查询排队的功能,在创建Workload Group时可以设置最大查询数,超出最大并发的查询将会进行队列中等待执行,以此来缓解高负载下系统的压力。
Doris租户角色和用户关联关系介绍
通过FusionInsight Manager服务配置和租户管理页面的操作,用户可以实现创建租户、关联服务、设置租户资源配置、租户关联用户等操作。Manager侧和Doris侧的角色和用户关联关系如下图所示:
租户关系中“用户 > 租户角色 > Workload Group”都是一对一关系;而权限角色,一个用户可对应多个角色。
当前版本支持的Doris租户资源配置列表如表1所示。
资源 |
取值范围 |
描述 |
备注 |
---|---|---|---|
CPU配额权重 |
1~100 |
租户占用CPU资源的相对权重 |
相对占比(竞争时生效),例如有两个租户A和B执行查询,对应该值分别为A:10,B:20,此时租户A的CPU占用率为三分之一,即为:10/(10+20)。如果另有一租户C开始执行,对应值为30,则租户A的CPU占用率为六分之一,即为:10/(10+20+30)。 |
内存限额占比 |
|
租户最大占用内存资源的百分比 |
租户的可用内存大小为:物理内存 * mem_limit * 内存限额占比,上限为70%(MRS 3.5.0及之后版本为90%),Doris默认租户normal占用了70%(MRS 3.5.0及之后版本为90%)。 |
并发数 |
|
租户最大可运行查询任务的并发数 |
该值是对单个FE的限定。例如设置并发数为1,Doris有三个FE节点,则从集群角度看,最大可运行的SQL数为3。 |
队列长度 |
|
租户最大等待执行的查询任务数 |
超过并发数的SQL会进入队列等待,当队列满了之后,新提交的查询会被拒绝。 |
队列等待时长 |
|
租户等待执行的查询任务最大的等待时长 |
如果查询等待时间超过该值,那么查询会被拒绝,时间单位为毫秒。 |
开启内存软隔离 |
|
租户是否可以超量占用内存资源 |
|