基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
sys 租户/RS 服务问题
更新时间:2023-07-19 13:03:07
RootService 简称 RS,是 OceanBase 数据库集群中内部任务调度管理的核心模块。RS 作为负责集群资源管理、分布式策略执行的核心服务,在集群中充当着举足轻重的作用。而为 RS 提供计算和存储资源的 sys 租户,本身也是通过多副本自选举的方式达到高可用的目的。在一些规模较大或者负载较高的环境中,少数情况下(极端场景、硬件问题等)可能发生因 sys 租户队列积压导致的问题。本节针对这种情况介绍一些应急处理的策略方法。
应急处理方法
当 sys 租户队列积压时,您可以尝试通过如下几种方法进行处理。
扩容 sys 租户资源
查看各个租户分配资源的方法如下
obclient> SELECT a.tenant_name,a.tenant_id,b.name unit_config,c.name pool_name,b.max_cpu,b.min_cpu, round((b.max_memory/1024/1024/1024)) max_memory,round((b.min_memory/1024/1024/1024)) min_memory FROM __all_tenant a, __all_unit_config b, __all_resource_pool c WHERE a.tenant_id=c.tenant_id AND b.unit_config_id = c.unit_config_id ORDER BY a.tenant_id desc;执行如下命令,扩容
sys租户的 CPU 和内存资源。ALTER RESOURCE UNIT sys_unit_config min_cpu=8,max_cpu=8, max_memory='32G',min_memory='32G';注意
截止 OceanBase V3.2.x 版本,修改
resource unit配置仅 CPU、Memory 配置是实际生效的,其他 IO 参数,例如磁盘、iops 等都暂时无效,默认即可。
执行 stop server 或者 RS 切主
当 sys 租户队列积压时,可以通过 RS 切主,缓解当前的资源压力。您可以根据需要参照如下命令,执行 RS 切主。
obclient> ALTER SYSTEM SWITCH ROOTSERVICE {LEADER | FOLLOWER} {zone | server};
或者可以执行 stop server 隔离 RS/SYS 租户所在的机器
obclient> ALTER SYSTEM STOP SERVER "xx.xx.xx.xx:2882";
重启问题节点
对问题 RS 所在的 OB 节点做重启操作,详情请参见 重启 OBServer 服务。