暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

OceanBase管理数据库SYS租户/RS服务问题

2023-11-10
348

OceanBase 中,RootService 作为负责集群资源管理、分布式策略执行的核心服务,在集群中充当着举足轻重的作用。而为 RS 提供计算和存储资源的 SYS 租户,本身也是通过多副本自选举的方式达到高可用的目的。在一些规模较大或者负载较高的环境中,少数情况下(极端场景、硬件问题等)可能发生因 SYS 租户队列积压导致的问题。本节针对这种情况介绍一些应急处理的策略方法。

应急处理方法

当 SYS 租户队列积压时,您可以尝试通过如下几种方法进行处理。

扩容sys租户资源

  1. 查看各个租户分配资源的方法如下

    obclient> SELECT a.tenant_name,a.tenant_id,b.name unit_config,c.name pool_name,b.max_cpu,b.min_cpu
    FROM
    OCEANBASE.DBA_OB_TENANTS a,
    OCEANBASE.DBA_OB_UNIT_CONFIGS b,
    OCEANBASE.DBA_OB_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;
    
  2. 执行如下命令,扩容 sys 的CPU和内存资源。

    ALTER RESOURCE UNIT unit_config_name min_cpu = 2,max_cpu = 2,memory_size = '2G',max_iops = 10000,min_iops = 10000;
    

    注意

    截止 OceanBase V3.2 版本,修改 resource unit 配置仅 CPU、Memory 配置是实际生效的,其他 IO 参数,例如磁盘、iops 等都暂时无效,默认即可。

执行 stop server 或者 RS 切主

RootService 简称 RS,是 OceanBase 数据库集群中内部任务调度管理的核心模块。当 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 服务

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论