obd currently supports taking over OceanBase clusters and instances of the seekdb database. This topic describes how to take over an OceanBase cluster.
Prerequisites
The OceanBase cluster to be acquired must be Community Edition V4.2.1 BP4 or a later version and must have been started using obshell. For more information, see the steps in View information about the OceanBase cluster.
The OceanBase cluster to be taken over is running properly.
If you have installed OBLOBD v2.8.0 or later, it is recommended to use the latest version. For more information, see Install obd.
The OBD server must be able to access the nodes in the OceanBase cluster.
Take over an OceanBase cluster
Take over an OceanBase cluster
[admin@obtest ~]$ obd cluster takeover test -h 10.10.10.1 -P 2881 -p ****** --ssh-user=admin --ssh-key-file=/home/admin/.ssh/id_rsaFor more information about takeover commands, see obd cluster takeover in Cluster commands.
Use obd to check the cluster status.
[admin@obtest ~]$ obd cluster display testThe output is as follows:
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 obshell program health check ok display obshell dashboard ok +-----------------------------------------------------------+ | obshell Dashboard | +---------------------------+------+---------------+--------+ | url | user | password | status | +---------------------------+------+---------------+--------+ | http://10.10.10.1:2886 | root | '********' | active | +---------------------------+------+---------------+--------+ 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
View information about an OceanBase cluster
Log in to the sys tenant of the OceanBase cluster to be taken over as the root user.
[admin@obtest ~]$ obclient -h10.10.10.1 -P2883 -uroot@sys#obdemo -p -c -Doceanbase -AParameter description:
-h: The IP address for connecting to the OceanBase database. Usually, this is the IP address of the ODP. For example,
10.10.10.1. You must replace it with the actual IP address.-u: The account for connecting to the tenant. The format is one of the following:
username@tenant name#cluster name,cluster name:tenant name:username,cluster name-tenant name-username, orcluster name.tenant name.username. Here,root@sys#obdemois used as an example. You need to modify the account according to your actual scenario.Note
- When you use ODP to connect to an OceanBase cluster, you can use the following methods to obtain the cluster name:
First, connect directly to OceanBase Database and then execute theSHOW PARAMETERS LIKE 'cluster';command. The result of this command returns the name of the OceanBase cluster in theVALUEfield. - If ODP is a proxy for multiple clusters, you must specify the cluster name when you connect to ODP. If ODP is a proxy for only one cluster, you do not need to specify the cluster name when you connect to ODP.
- When you use ODP to connect to an OceanBase cluster, you can use the following methods to obtain the cluster name:
-P: The port for connecting to OceanBase Database. When a direct connection is established, set this parameter to
mysql_port(the default value is2881). When a connection through ODP is established, set this parameter tolisten_port(the default value is2883). In this example,2883is used. You must replace it with the actual port number.-c: Specify that comments are not ignored in the OBClient runtime environment.
Instructions
Hints are special comments and are not affected by -c.
-A: Indicates whether to automatically obtain statistics when you connect to a database by using OBClient.
-D: Specifies the name of the database to access, and the value can be changed to the business database.
View the OceanBase Database version.
obclient [oceanbase]> SELECT OB_VERSION();The output is as follows:
+--------------+ | OB_VERSION() | +--------------+ | 4.3.0.1 | +--------------+View the obshell information.
obclient [oceanbase]> select * from ocs.all_agent;The output is as follows, which indicates that the obshell is running in the cluster:
+------------+------+---------------+----------------------+-------+--------------+-------+------------+----------+--------------------------------+------------------------------------------------------------------------------------------------------+ | 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= | +------------+------+---------------+----------------------+-------+--------------+-------+------------+----------+--------------------------------+------------------------------------------------------------------------------------------------------+
Related documentation
Take over the seekdb instance
Prerequisites
The seekdb instance that is to be taken over must be V1.2.0 or later.
The seekdb instance is running. You can execute the
sudo systemctl status seekdbcommand to verify this. If the status showsActive: active (running)andStatus: seekdb is ready and running, the seekdb instance is running.You have installed an OBD V4.3.0 or later. We recommend that you install the latest version. For more information, see Install OBD.
The server on which the obd instance is located has network connectivity to the node where the seekdb instance is located.
Procedure
Take over the instance named seekdb
[admin@obtest ~]$ obd seekdb takeover test -h 10.10.10.1 -P 2881 --ssh-user=rootFor more information about the obd seekdb takeover command, see obd SEEK_DB_PLACEHOLDER_94ca31407809423c8f0fae030c306431 takeover in seekdb command group.
Check the status of the table seekdb by using the obd tool.
[admin@obtest ~]$ obd seekdb display testThe output is as follows:
Get local repositories and plugins ok Open ssh connection ok Connect to seekdb 10.10.10.1:2881 ok Wait for seekdb init ok +--------------------------------+ | seekdb | +---------------+---------+------+ | ip | version | port | +---------------+---------+------+ | 10.10.10.1 | 1.2.0.0 | 2881 | +---------------+---------+------+ obclient -h10.10.10.1 -P2881 -uroot -Doceanbase -A
