Giant
#1
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
疑问:
- rs服务是不是只有sys租户才有???
- 业务租户id 1006,meta租户id1005 , sql查询出来的svr_ip,svr_port是 meta的1号日志流 肯定和sys租户的 1号日志流的Leader在 同一个observer上吗 ??
论坛小助手
#4
根据提供的信息,RS (Root Service) 服务主要负责 OceanBase 集群的元信息管理和调度工作,通常由系统租户 (sys tenant) 管理。然而,业务租户 (user tenant) 也有自己的 RS,不过它们的 RS 信息和元数据是由系统租户中的 RS 统一管理的。
关于您的问题,可以明确的是:
- RS 服务不仅限于 sys 租户,每个租户都有自己的 RS 信息,但这些信息是由 sys 租户中的 RS 统一管理的。
- 业务租户的 1 号日志流 (LS1) 的 Leader 与 meta 租户的 1 号日志流的 Leader 确实是在同一个 Observer 上。这是因为每个租户的 1 号日志流的 Leader 通常会选择在 meta 租户的 1 号日志流 Leader 所在的 Observer 上,以确保元数据的一致性和高效管理。
您可以使用以下 SQL 查询来确认这一点:
SELECT * FROM __all_virtual_ls_meta_table WHERE tenant_id = 1005 AND role = 1;
这将返回 meta 租户 1005 的 1 号日志流 Leader 所在的 Observer 信息。接下来,您可以查询业务租户 1006 的 1 号日志流 Leader:
SELECT * FROM __all_virtual_ls_meta_table WHERE tenant_id = 1006 AND role = 1;
如果两个查询的结果显示它们在同一个 Observer 上,那么您的假设是正确的。
更多信息请查看:
- 通过调整资源规格实现租户扩缩容
- 发起租户级备份
- 使用 MySQL 租户做常见数据库开发
论坛小助手
#6
Root Service (RS) 是 OceanBase 集群中的核心服务,负责集群资源管理、分布式策略执行等关键功能。关于 RS 更详细的介绍,您可以参考以下链接:OceanBase 迁移服务。然而,此链接实际上是关于 OMS(OceanBase Migration Service)的文档,用于数据迁移和同步。对于 RS 服务,建议查阅更准确的文档,例如:OceanBase 官方文档 - Root Service 高可用。
详情请参考:
- SYS 租户/RS 服务问题
- 节点故障的自动处理
- 使用命令行进行运维
辞霜
#9
RS服务基于SYS租户运行
Root Service 是 OceanBase 集群的核心管理服务,负责集群管理、租户管理、资源调度、负载均衡、合并调度、数据迁移等关键任务。而这些功能的实现依赖于系统租户(SYS租户),即 Root Service 基于系统租户支持以上功能 。
业务租户的1号日志流不一定与sys租户的1号日志流在一个observer上。
Giant
#10
不一定在一个observer上。

他这里查询出来有什么用呢 ?
辞霜
#11
查询该租户的rs日志。日志并不会只记录在RS leader
Giant
#12
辞霜
#13
全局的 Root Service 服务并不是运行在任意节点上的,而是严格运行在 系统租户(Sys Tenant)一号日志流(LS 1)的 Leader 节点 上。
如果某个 OBServer 节点当选为系统租户 LS 1 的 Leader,它会自动启动 Root Service 服务,成为集群的主控节点。