OB的日常运维中,得如何查看节点状态与分区分布情况?大佬们帮个忙

【 使用环境 】测试环境
【 OB 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

@论坛小助手

为了查看OceanBase (OB) 节点的状态,您可以使用 obshell-sdk-go 或 obshell-sdk-python 工具。这两个工具提供了查询节点当前状态的功能,包括节点的身份、进程信息和服务状态等内容。关于分区分布情况,可以通过查询 oceanbase.CDB_OB_TABLE_LOCATIONS 视图来获取相关信息。例如,要查看某个租户下的Partition Leader分布情况,可以执行以下SQL语句:

SELECT svr_ip, count(1) FROM oceanbase.CDB_OB_TABLE_LOCATIONS
WHERE tenant_id = 1002 and role = 'LEADER' and DATABASE_NAME not in ('oceanbase','mysql') group by svr_ip order by svr_ip;

此外,还可以查询 oceanbase.CDB_OBJECTSoceanbase.CDB_OB_TABLET_TO_LSoceanbase.CDB_OB_LS_LOCATIONS 视图以获取更详细的分区信息。

具体信息可参考以下文档:

  1. 查询状态
  2. 使用命令行进行运维
  3. 日志流和副本概述