This topic describes how to use OceanBase Deployer (OBD) to deploy OceanBase Database on a single OBServer node. In standalone deployment, the OceanBase cluster contains only one zone that contains only one OBServer node.
Glossary
Central control server: stores the installation package of OceanBase Database and the cluster configuration information.
Target server: hosts the OceanBase cluster.
Prerequisites
You have installed OBD of the latest version on your server. For more information, see Install and configure OBD.
You have installed OceanBase Client (OBClient) on your server. For more information, see OBClient overview.
Procedure
Step 1: (Optional) Download and install the all-in-one package.
OceanBase Database provides an all-in-one package since V4.0.0. You can use this package to install OBD, OceanBase Database, OceanBase Database Proxy (ODP), OceanBase Agent (OBAgent), Grafana, Prometheus, and OceanBase Cloud Platform (OCP) Express at a time.
You can download and install desired components of specified versions from OceanBase Download Center.
Note
To deploy OceanBase Database offline, we recommend that you download the all-in-one package for deployment.
Online installation
If your server can connect to the Internet, run the following commands to install OBD online.
[admin@test001 ~]$ bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"
[admin@test001 ~]$ source ~/.oceanbase-all-in-one/bin/env.sh
Offline installation
If your server cannot connect to the Internet, perform the following steps to install OBD offline.
Download the latest all-in-one package from OceanBase Download Center and copy it to any directory on the central control server.
In the directory where the all-in-one package is located, run the following commands to decompress and install the package.
[admin@test001 ~]$ tar -xzf oceanbase-all-in-one-*.tar.gz [admin@test001 ~]$ cd oceanbase-all-in-one/bin/ [admin@test001 bin]$ ./install.sh [admin@test001 bin]$ source ~/.oceanbase-all-in-one/bin/env.sh
Step 2: Configure OBD
Before you deploy the OceanBase cluster, we recommend that you switch to a non-root user for data security.
To deploy the OceanBase cluster offline, download and install the all-in-one package on the central control server based on Step 1.
You can download the installation package of the desired version for a component from OceanBase Download Center. Then, copy the package to any directory on the central control server and perform the following steps to configure OBD.
If you are deploying the OceanBase cluster online, skip steps 1 to 3.
Disable remote repositories.
[admin@test001 rpm]$ obd mirror disable remoteNote
After you install the all-in-one package, the remote repositories are automatically disabled. You can run the
obd mirror listcommand for confirmation. If the values of the remote repositories in theEnabledcolumn are changed toFalse, the remote image sources are disabled.Add the installation packages to the local images.
[admin@test001 rpm]$ obd mirror clone *.rpmView the list of installation packages in the local image repository.
[admin@test001 rpm]$ obd mirror list localSelect a configuration file.
If OBD is directly downloaded and installed on your server, you can view the sample configuration file provided by OBD in the
/usr/obd/exampledirectory.If OBD is installed by using the all-in-one package, you can view the sample configuration file provided by OBD in the
~/.oceanbase-all-in-one/obd/usr/obd/exampledirectory. Select the corresponding configuration file based on your resources.The small-scale development mode applies to individual devices with at least 8 GB of memory.
Sample configuration file for local standalone deployment:
mini-local-example.yamlSample configuration file for standalone deployment:
mini-single-example.yamlSample configuration file for the deployment of OceanBase Database in standalone mode and ODP:
mini-single-with-obproxy-example.yamlSample configuration file for the deployment of OceanBase Database in distributed mode and ODP:
mini-distributed-with-obproxy-example.yamlSample configuration file for the deployment of OceanBase Database in distributed mode, ODP, and OCP Express:
default-components-min.yamlSample configuration file for all components in distributed mode:
all-components-min.yaml
The professional development mode applies to advanced Elastic Compute Service (ECS) instances or physical servers with at least 16 CPU cores and 64 GB of memory.
Sample configuration file for local standalone deployment:
local-example.yamlSample configuration file for standalone deployment:
single-example.yamlSample configuration file for the deployment of OceanBase Database in standalone mode and ODP:
single-with-obproxy-example.yamlSample configuration file for the deployment of OceanBase Database in distributed mode and ODP:
distributed-with-obproxy-example.yamlSample configuration file for the deployment of OceanBase Database in distributed mode, ODP, and OCP Express:
default-components.yamlSample configuration file for all components in distributed mode:
all-components.yaml
Modify the configuration file.
The following uses
mini-single-example.yaml, the configuration file for standalone development in small-scale development mode, as an example to describe how to modify the configuration file.Note
You must modify related parameters based on the actual environment.
Modify user information.
## Only need to configure when remote login is required user: username: admin # password: your password if need key_file: /home/admin/.ssh/id_rsa # port: your ssh port, default 22 # timeout: ssh connection timeout (second), default 30usernamespecifies the username of the account used to log on to the target server. Make sure that this account has the write privilege onhome_path.passwordandkey_fileare used for user verification. Generally, you only need to specify either of them.Notice
After you specify the path of the key, comment out or delete the
passwordfield if your key does not require a password. Otherwise, the value of thepasswordparameter will be deemed as the password of the key and used for logon, leading to a logon verification failure.Modify the IP address, port, and related directory of the server, and specify memory-related parameters and the password.
oceanbase-ce: servers: # Do not use the hostname. Only IP address is supported. - ip: 10.10.10.1 global: # Set devname as the name of the network adapter whose IP address is the same as the one specified for the severs parameter. # If the IP address specified for the severs parameter is "127.0.0.1", set devname as "lo". # If the current IP address is 192.168.1.10, and the name of the network adapter with this IP address is "eth0", set devname as "eth0". devname: eth0 memory_limit: 6G # The maximum running memory for an observer system_memory: 1G # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G. datafile_size: 2G # Size of the data file. datafile_next: 2G # the auto extend step. Please enter an capacity, such as 2G datafile_maxsize: 20G # the auto extend max size. Please enter an capacity, such as 20G log_disk_size: 13G # The size of disk space used by the clog files. cpu_count: 16 mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started. production_mode: false # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. home_path: /home/admin/observer # The directory for data storage. Default value: $home_path/store. data_dir: /data # The directory for clog, ilog, and slog files. Default value: the same as the value of the data_dir parameter. redo_dir: /redo root_password: ****** # root user password, can be empty proxyro_password: ****** # proxyro user password, consistent with obproxy's observer_sys_password, can be empty zone: zone1Note
If you do not specify the password in the configuration file, OBD automatically generates a random password. After the deployment is completed, you can run the
obd cluster edit-configcommand to view the password in the configuration file.
Step 3: Deploy OceanBase Database
Note
For more information about the commands used in this section, see Cluster commands.
Deploy OceanBase Database.
[admin@test001 ~]$ obd cluster deploy obtest -c mini-single-example.yamlAfter you run the
obd cluster deploycommand, if your server is connected to the Internet, OBD checks whether the desired installation package exists on the target server. If no, OBD automatically obtains the installation package from the YUM source.This command will check whether the directories specified by
home_pathanddata_dirare empty, and returns an error if no. If all the content in these directories can be deleted, you can add the-foption to forcibly purge the directories.Start OceanBase Database.
[admin@test001 ~]$ obd cluster start obtestView the status of the OceanBase cluster.
# View the list of clusters managed by OBD. [admin@test001 ~]$ obd cluster list # View the status of the obtest cluster. [admin@test001 ~]$ obd cluster display obtest(Optional) Modify the cluster configurations.
OceanBase Database has hundreds of parameters and some are coupled. We recommend that you do not modify parameters in the sample configuration file before you become familiar with OceanBase Database. The following example shows you how to modify a parameter and make it take effect.
# Run the edit-config command to enter the edit mode before you can edit the cluster configurations. # After you modify and save the configurations and exit, OBD will prompt how to validate the modifications. Copy the command provided by OBD. [admin@test001 ~]$ obd cluster edit-config obtest # Output after you save the modifications: Search param plugin and load ok Search param plugin and load ok Parameter check ok Save deploy "obtest" configuration Use `obd cluster reload obtest` to make changes take effect. [admin@test001 ~]$ obd cluster reload obtest
Step 4: Connect to OceanBase Database
Run the following command to connect to OceanBase Database by using the OBClient:
obclient -h<IP> -P<PORT> -uroot@sys -p
In the command, IP specifies the IP address of the OBServer node. PORT specifies the port for connecting to OceanBase Database, which takes the value of the mysql_port parameter in the case of direct connection. The default port is 2881. If you modified the port, the configured port is used here.
Note
After you deploy an OceanBase cluster, we recommend that you create a business tenant for business operations. The sys tenant is intended only for cluster management and is unsuitable for business scenarios.
Subsequent operations
You can run the following commands to manage a cluster deployed by using OBD. For more information, see Cluster commands.
# View the cluster list.
obd cluster list
# View the status of the obtest cluster.
obd cluster display obtest
# Stop the running obtest cluster.
obd cluster stop obtest
# Destroy the obtest cluster.
obd cluster destroy obtest