首批通过分布式安全可靠测评,为关键业务系统打造
使用 obd 接管集群
更新时间:2026-04-14 17:55:42
前提条件
待接管的 OceanBase 集群需为社区版 V4.2.1 BP4 或之后版本,且已启动过 obshell,具体确认操作可参见下文 查看 OceanBase 集群信息。
待接管的 OceanBase 集群处于正常运行状态,查看方法可参见《OceanBase 数据库》文档 检查 OBServer 状态 一文。
obd 所在机器与 OceanBase 集群中的节点网络连通。
接管 OceanBase 集群
接管 OceanBase 集群
[admin@obtest ~]$ obd cluster takeover test -h 10.10.10.1 -P 2881 -p ****** --ssh-user=admin --ssh-key-file=/home/admin/.ssh/id_rsa接管命令的详细介绍可参见 集群命令组 中 obd cluster takeover。
通过 obd 查看集群状态
[admin@obtest ~]$ obd cluster display test输出如下:
Get local repositories and plugins ok Open ssh connection ok Cluster status check ok Connect to observer 10.10.10.1:2881 ok Wait for observer init ok +----------------------------------------------+ | oceanbase-ce | +------------+---------+------+-------+--------+ | ip | version | port | zone | status | +------------+---------+------+-------+--------+ | 10.10.10.1 | 4.3.0.1 | 2881 | zone1 | ACTIVE | +------------+---------+------+-------+--------+ obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A Trace ID: 093ddc0c-039b-11ef-865a-00163e0808cc If you want to view detailed obd logs, please run: obd display-trace 093ddc0c-039b-11ef-865a-00163e0808cc
查看 OceanBase 集群信息
使用 root 用户登录待接管 OceanBase 集群的 sys 租户
[admin@obtest ~]$ obclient -h10.10.10.1 -P2883 -uroot@sys#obdemo -p -c -Doceanbase -A参数说明:
-h:提供 OceanBase 数据库连接 IP,通常是一个 ODP 地址。此处以
10.10.10.1为例,您需根据实际情况进行替换。-u:提供租户的连接账户,格式有:
用户名@租户名#集群名、集群名:租户名:用户名、集群名-租户名-用户名或者集群名.租户名.用户名。此处以root@sys#obdemo为例,您需根据实际情况进行替换。说明
- 当使用 ODP 连接 OceanBase 集群时,可以通过以下方式获取集群名:
先通过直连的方式连接 OceanBase 数据库,之后使用SHOW PARAMETERS LIKE 'cluster';命令来获取集群的名称,该命令的返回结果中VALUE的值对应 OceanBase 集群的名称。 - 如果 ODP 代理多个集群,连接时必须指定集群名;如果 ODP 只代理一个集群,连接时则不需指定集群名。
- 当使用 ODP 连接 OceanBase 集群时,可以通过以下方式获取集群名:
-P:提供 OceanBase 数据库连接端口,直连时需配置为
mysql_port值(默认为2881),通过 ODP 连接时需配置为listen_port值(默认为2883)。此处以2883为例,您需根据实际情况进行替换。-c:表示在 OBClient 运行环境中不要忽略注释。
说明
Hint 是特殊的注释,不受 -c 影响。
-A:表示在 OBClient 连接数据库时不自动获取统计信息。
-D:设置要访问的数据库的名称,可以更改为业务数据库。
查看 OceanBase 数据库版本
obclient [oceanbase]> SELECT OB_VERSION();输出如下:
+--------------+ | OB_VERSION() | +--------------+ | 4.3.0.1 | +--------------+查看 obshell 信息
obclient [oceanbase]> select * from ocs.all_agent;输出如下,能输出 obshell 信息即表示集群中已启动过 obshell:
+------------+------+---------------+----------------------+-------+--------------+-------+------------+----------+--------------------------------+------------------------------------------------------------------------------------------------------+ | ip | port | identity | version | os | architecture | zone | mysql_port | rpc_port | home_path | public_key | +------------+------+---------------+----------------------+-------+--------------+-------+------------+----------+--------------------------------+------------------------------------------------------------------------------------------------------+ | 10.10.10.1 | 2886 | CLUSTER AGENT | 4.2.3.0-102024031414 | linux | x86_64 | zone1 | 2881 | 2882 | /home/admin/oceanbase-ce | MEgCQQCoegOM/lKWUfz0ZUOg+KK+bpW7jr16xvQy7foOqZc5yB8F+8J5pNvD0pHNH+2IeG2bIMbhnUbV/B0XeqkACD/xAgMBAAE= | +------------+------+---------------+----------------------+-------+--------------+-------+------------+----------+--------------------------------+------------------------------------------------------------------------------------------------------+