This topic describes how to use the OMS deployment tool to install OceanBase Migration Service (OMS) on a single node.
Prerequisites
Make sure that the installation environment meets the system and network requirements. For more information, see System and network requirements.
The RM database, CM database, and heartbeat database have been prepared as the metadata databases of OMS.
You have obtained the OMS installation package, which is usually a
tar.gzfile that starts with oms.The downloaded OMS installation package has been loaded to the local image repository of the Docker container.
docker load -i <installation package of OMS>OMS has prepared a directory for mounting the OMS container. In the mount directory, OMS will create the
/home/admin/logs,/home/ds/store, and/home/ds/rundirectories for storing the component information and logs generated during the running of OMS.(Optional) The time series database is prepared for OMS to store performance monitoring data and DDL/DML statistics.
Terms
In the following guides, some commands and prompt messages contain placeholders for values that you must replace. These placeholders are enclosed in <>.
OMS container mount directory: For more information, see the section about OMS container mount directory in the prerequisites.
Local IP address: The IP address of the host where the script is executed. In a single-node scenario, it is automatically resolved to the corresponding IP address in the CM configuration.
OMS_IMAGE: After you load the OMS installation package using Docker, run the
docker imagescommand to obtain the [IMAGE ID] or [REPOSITORY:TAG] of the loaded image, which serves as the unique identifier of the image. The variable name is<OMS_IMAGE>. Example:$sudo docker images REPOSITORY TAG IMAGE ID work.oceanbase-dev.com/obartifact-store/oms feature_3.4.0 2a6a77257d35In this example,
<OMS_IMAGE>can bework.oceanbase-dev.com/obartifact-store/oms:feature_3.4.0or2a6a77257d35. In the following instructions, replace <OMS_IMAGE> in the related commands with one of the preceding values.Existing
config.yamlconfiguration file path: If you want to deploy based on the existingconfig.yamlconfiguration file, this field provides the path of the existing configuration file.
Deployment process (without a configuration file)
If you do not have a configuration file for OMS, we recommend that you generate a new configuration file and deploy it by using the process without a configuration file. If you already have a configuration file, we recommend that you use the process with a configuration file.
Integrated deployment mode
Log in to the OMS deployment server.
(Optional) Deploy the time series database.
If you want OMS to collect and display monitoring data, deploy the time series database. If not, skip this step. For more information, see Deploy a time series database.
Run the following command to obtain the deployment script
docker_remote_deploy.shfrom the loaded image.sudo docker run -d --net host --name oms-config-tool <OMS_IMAGE> bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-toolHere is an example:
sudo docker run -d --net host --name oms-config-tool work.oceanbase-dev.com/obartifact-store/oms:feature_3.4.0 bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-toolRun the deployment tool by using the deployment script.
sh docker_remote_deploy.sh -o <OMS mount directory> -i <local IP address> -d <OMS_IMAGE>Complete the deployment based on the tool tips. Press Enter after each input to proceed to the next step.
Select the deployment mode:
Select the Single Region Single Node option.
Select the task you want to perform.
Select No configuration file. Deploy OMS for the first time. Start from generating the configuration file.
Configure the MetaDBs of RM and CM to store the metadata of OMS.
Enter the IP address, port, username, and password of the RM MetaDB.
Please set a prefix for the OMS MetaDB.
For example, if the prefix is set to oms, the names of the created MetaDBs are oms_rm, oms_cm, and oms_cm_hb.
Check the configuration information.
Enter y to confirm the preceding configurations, or enter n to reconfigure the settings.
If the Database name already exists in the MetaDB. Continue? prompt appears, it indicates that the database name you entered already exists in the MetaDB. This situation may be due to repeated deployment or OMS upgrade. Enter y to continue the deployment with the existing configuration, or enter n to re-enter the configuration.
Enter the following CM configuration information:
Please confirm whether the default IP address is correct.
The displayed IP address corresponds to the Local IP Address entered when the deployment script was initiated. If the IP address is correct, enter y. If not, enter n.
The interface displays the cluster configuration information of OMS. Please check whether the IP address in
cm_urlis the IP address of the current host. If it is, enter y. If not, enter n.Check whether to monitor the historical data of OMS.
If you chose to deploy the time series database in the (Optional) Deploy time series database step, enter y and proceed to the Configure time series database step to monitor the historical data of OMS.
If you chose not to deploy a time series database in the (Optional) Deploy Time Series Database step, enter n at this step. The system will then proceed to the Enable the Audit Log Feature and Configure Related SLS Parameters step. In this case, the deployed OMS cannot monitor historical data.
Configure the time series database.
Enter the configuration information of the time series database:
Have you deployed a time series database service?
Please enter y if the answer is yes, or n if the answer is no.
Select the type of time series database: Choose "INFLUXDB".
Notice
Only the INFLUXDB time series database is supported.
Enter the URL, username, password, and other details of the time series database. For more information, see Deploy a time series database.
Please confirm all configuration details.
If the information is correct, enter y. If you want to modify the information, enter n.
Do you want to enable the OMS audit log feature and write the audit logs to the SLS service?
If you enter y, the audit log feature is enabled. In this case, skip to the Enter SLS parameters step.
If you enter n, the deployment is officially started. In this case, the deployed OMS does not support the audit log feature.
Enter the SLS parameters.
Enter the parameters of SLS based on the prompts.
Please confirm all configuration details.
If the information is correct, enter y. If you want to modify the information, enter n.
If the configuration file check succeeds, all configuration information is displayed. Enter n to confirm the configurations. To modify the configurations, enter y.
If the configuration file fails the check, modify the configuration information as prompted.
Enter the mount directory on the node with IP address
for deploying the OMS container. Enter a directory with a large capacity as the mount directory for the OMS container.
Please confirm whether the image name of OMS is correctly specified as <OMS_IMAGE>.
If the information is correct, enter y. If you want to modify the information, enter n.
Check whether to mount the HTTPS certificate to the OMS container.
Enter y and follow the prompts to enter the https_key and https_crt directories if needed. Enter n if not needed.
Start the deployment.
If the deployment fails, you can log in to the running OMS container and view the
.logfiles with thedocker_initprefix in the/home/admin/logsdirectory to obtain log information. If the OMS container fails to start, no logs can be obtained.
Separate deployment mode
Log in to the OMS deployment server.
(Optional) Deploy the time series database.
If you want OMS to collect and display monitoring data, deploy the time series database. If you don't need to display the monitoring data, skip this step. For more information, see Deploy a time series database.
Run the following command to obtain the deployment script
docker_remote_deploy_v2.shfrom the loaded image.sudo docker run -d --net host --name oms-config-tool <management image or component image> bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy_v2.sh . && sudo docker rm -f oms-config-toolHere is an example:
sudo docker run -d --net host --name oms-config-tool 0719**** bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy_v2.sh . && sudo docker rm -f oms-config-toolRun the deployment tool by using the deployment script.
You can deploy the management and component modules simultaneously or deploy the management or component module separately.
Deploying the management and component modules at the same time
sh docker_remote_deploy_v2.sh -o <OMS container mount directory> -i <local IP address> -v <management image> -s <component image>Deploy only the management module
sh docker_remote_deploy_v2.sh -o <OMS container mount directory> -i <local IP address> -v <management image>Deploy only the components.
sh docker_remote_deploy_v2.sh -o <OMS container mount directory> -i <local IP address> -s <component image>
Complete the deployment based on the tool tips. Press Enter after each input to proceed to the next step.
Select the deployment mode:
Select the Single Region Single Node option here.
Select the task you want to perform.
Select No configuration file. Deploy OMS for the first time. Start from generating the configuration file.
Configure the MetaDB for RM and CM to store metadata of OMS.
Enter the IP address, port, username, and password of the MetaDB for RM and CM.
Please set a prefix for the OMS MetaDB.
For example, if the prefix is set to oms, the names of the created MetaDBs are oms_rm, oms_cm, and oms_cm_hb.
Check the configuration information.
Enter y to confirm the configuration information, or enter n to reconfigure the information.
If the Database name already exists in the MetaDB. Continue? prompt appears, it indicates that the database name you entered already exists in the MetaDB. This situation may be due to repeated deployment or an OMS upgrade. Enter y to continue the deployment with the existing configuration, or enter n to reconfigure.
Enter the following CM configuration information:
Please confirm whether the default IP address is correct.
The displayed IP address corresponds to the Local IP Address entered when the deployment script was initiated. If the IP address is correct, enter y. If not, enter n.
The interface displays the cluster configuration of OMS. Please check whether the IP address in
cm_urlis the IP address of the current host. If it is, enter y. If not, enter n.Do you want to monitor the historical data of OMS?
If you chose to deploy the time series database in the (Optional) Deploy time series database step, enter y and proceed to the Configure time series database step to monitor the historical data of OMS.
If you chose not to deploy the time series database in the (Optional) Deploy time series database step, enter n at this step. The system will then proceed to the Enable the audit log feature and configure related SLS parameters step. In this case, the deployed OMS does not support historical data monitoring.
Configure the time series database.
Enter the following configuration information for the time series database:
Have you deployed a time series database service?
Please enter y if it exists, or n if it does not.
Select the type of time series database: Choose "INFLUXDB".
Notice
At present, only the INFLUXDB time series database is supported.
Enter the URL, username, password, and other details of the time series database. For more information, see Deploy a time series database.
Please confirm all configuration details.
If the information is correct, enter y. If you want to modify the information, enter n.
Do you want to enable the OMS audit log feature and write the audit logs to the SLS service?
If you enter y, the audit log feature is enabled. In this case, proceed to the Enter SLS parameters step.
If you enter n, the deployment starts. After the OMS is deployed, the audit log feature is unavailable.
Enter the SLS parameters.
Enter the parameters of SLS according to the prompts.
Please confirm all configuration details.
If the information is correct, enter y. If you want to modify the information, enter n.
If the configuration file check succeeds, all configuration information is displayed. Enter n to confirm the configurations. To modify the configurations, enter y.
If the configuration file fails the check, modify the configuration information as prompted.
Complete the deployment of the management module based on the tool prompt.
Enter the mount directory on the management node
for deploying the OMS container. Please confirm whether the image name <OMS_IMAGE> for deploying OMS is correct.
If the information is correct, enter y. If you want to modify the information, enter n.
Check whether an HTTPS certificate needs to be mounted to the OMS container.
If you want to enable HTTPS, enter y and follow the prompts to enter the https_key and https_crt directories. If not, enter n.
Please confirm the write path of the configuration file
config.yamlunder the node.If the information is correct, enter y. If you want to modify the information, enter n.
Start deploying the management module. Wait for the deployment to succeed.
If the deployment fails, you can log in to the running OMS container and view the
.logfiles withdocker_initas the prefix in the/home/admin/logsdirectory to obtain log information. If the OMS container fails to start, no logs can be obtained.
Complete the component deployment based on the tool tip.
- Enter the mount directory on the component node
for deploying the OMS container.
Please confirm whether the image name for deploying OMS, <OMS_IMAGE>, is correct.
If the information is correct, enter y. If you want to modify the information, enter n.Check whether you need to mount the HTTPS certificate to the OMS container.
If you need, enter y and follow the prompts to specify the https_key and https_crt directories. If not, enter n.
Please confirm the write path of the configuration file
config.yamlon the node.If the information is correct, enter y. If you want to modify the information, enter n.
Start to deploy the component and wait for the deployment to succeed.
- Enter the mount directory on the component node
After the deployment is completed, you can run the
sudo docker pscommand to check if both the management and component containers are present.
Deployment process (with a configuration file)
If an OMS configuration file already exists, the deployment tool can verify the existing configuration file to deploy the system without the need to re-enter the configuration details.
Note
For more information about the settings in the config.yaml configuration file, see the Template and examples section.
After the deployment is completed, if you want to modify the configuration, perform the following operations:
Log in to the OMS container.
Modify the
/home/admin/conf/config.yamlfile as needed.Initialize the metadata.
sh /root/docker_init.sh
Integrated deployment mode
Log in to the OMS deployment server.
(Optional) Deploy the time series database.
If you want OMS to collect and display monitoring data, deploy the time series database. If you don't need to display the monitoring data, skip this step. For more information, see Deploy a time series database.
Run the following command to obtain the deployment script
docker_remote_deploy.shfrom the loaded image.sudo docker run --name oms-config-tool <OMS_IMAGE> bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-toolRun the deployment tool by using the deployment script.
sh docker_remote_deploy.sh -o <OMS container mount directory> -c <path of the existing config.yaml file> -i <local IP address> -d <OMS_IMAGE>Complete the deployment based on the tool tips. Press Enter after each input to proceed to the next step.
Select the deployment mode.
Select the Single Region Single Node option here.
Select the task you want to perform.
Select Reference configuration file has been passed in through the [-c] option of the script. Start to configure based on the file.
If the Database name already exists in the MetaDB. Continue? prompt appears, it indicates that the database name you entered already exists in the RM and CM MetaDB of the original configuration file. This situation may be due to repeated deployment or OMS upgrade. Enter y to continue the deployment after confirming, or enter n to re-enter the configuration information.
If the configuration file check succeeds, all configuration information is displayed. Enter n to confirm the configurations. To modify the configurations, enter y.
If the configuration file fails the check, modify the configuration information as prompted.
Enter the mount directory on the node with the IP address
for deploying the OMS container. Enter a directory with a large capacity as the mount directory for the OMS container.
Please confirm whether the image name of OMS is correctly specified as <OMS_IMAGE>.
If the information is correct, enter y. If you want to modify the information, enter n.
Check whether to mount the HTTPS certificate to the OMS container.
Enter y and follow the prompts to specify the https_key and https_crt directories, or enter n.
Start the deployment.
If the deployment fails, you can log in to the running OMS container and view the
.logfiles that have thedocker_initprefix in the/home/admin/logsdirectory to obtain log information. If the OMS container fails to start, no logs can be obtained.
Separate deployment mode
Log in to the OMS deployment server.
(Optional) Deploy the time series database.
If you want OMS to collect and display monitoring data, deploy the time series database. If not, skip this step. For more information, see Deploy a time series database.
Run the following command to obtain the deployment script
docker_remote_deploy_v2.shfrom the loaded image.sudo docker run -d --net host --name oms-config-tool <management image or component image> bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy_v2.sh . && sudo docker rm -f oms-config-toolRun the deployment tool by using the deployment script.
You can deploy the management and component modules simultaneously or deploy the management or component module separately.
Deploying the management and component modules at the same time
sh docker_remote_deploy_v2.sh -o <OMS container mount directory> -i <local IP address> -v <management image> -s <component image>Deploy only the management module.
sh docker_remote_deploy_v2.sh -o <OMS container mount directory> -i <local IP address> -v <management image>Deploy only the components.
sh docker_remote_deploy_v2.sh -o <OMS container mount directory> -i <local IP address> -s <component image>
Complete the deployment based on the tool tips. Press Enter after each input to proceed to the next step.
Select the deployment mode.
Select the Single Region Single Node option here.
Select the task you want to perform.
Select Reference configuration file has been passed in through the [-c] option of the script. Start to configure based on the file.
If the Database name already exists in the MetaDB. Continue? prompt appears, the specified database name already exists in the RM and CM MetaDB. This situation may be caused by repeated deployment or OMS upgrade. Enter y to continue the deployment with the existing configuration, or enter n to re-enter the configuration.
If the configuration file check succeeds, all configuration information is displayed. Enter n if the information is correct. Enter y to modify the information.
If the configuration file fails the check, modify the configuration information as prompted.
Complete the deployment of the management module based on the tool prompt.
Enter the mount directory on the node with IP address
for deploying the OMS container. Enter a directory with a large capacity as the mount directory for the OMS container.
Please confirm whether the image name of OMS is correctly specified as <OMS_IMAGE>.
If the information is correct, enter y. If you want to modify the information, enter n.
Check whether to mount the HTTPS certificate to the OMS container.
Enter y and follow the prompts to specify the https_key and https_crt directories if you need to. Enter n if you do not need to.
Start deploying the management module and wait for the deployment to succeed.
If the deployment fails, you can log in to the running OMS container and view the
.logfiles withdocker_initas the prefix in the/home/admin/logsdirectory to obtain log information. If the OMS container fails to start, no logs can be obtained.
Complete the component deployment based on the tool tip.
Enter the mount directory on the component node
for deploying the OMS container. Please confirm whether the image name of OMS is correctly specified as <OMS_IMAGE>.
If the information is correct, enter y. If you want to modify the information, enter n.
Check whether you need to mount the HTTPS certificate to the OMS container.
Enter y and follow the prompts to specify the https_key and https_crt directories if needed. Enter n if not needed.
Start the component deployment and wait for it to complete.
Template and sample of the configuration file
Configuration file template
The configuration file template in this topic is for the general password login method. If you log in to OMS using single sign-on (SSO), you need to integrate with the OIDC protocol and add parameters to the config.yaml file template. For more information, see Integrate OMS with the OIDC protocol for SSO.
Note
Replace the required parameters in the template with actual values of the target deployment environment. The optional parameters are commented out in this template. You can modify them as needed.
In the
config.yamlfile, add a space after the colon in Key: Value.
# RM and CM MetaDB information
oms_cm_meta_host: ${oms_cm_meta_host}
oms_cm_meta_password: ${oms_cm_meta_password}
oms_cm_meta_port: ${oms_cm_meta_port}
oms_cm_meta_user: ${oms_cm_meta_user}
oms_rm_meta_host: ${oms_rm_meta_host}
oms_rm_meta_password: ${oms_rm_meta_password}
oms_rm_meta_port: ${oms_rm_meta_port}
oms_rm_meta_user: ${oms_rm_meta_user}
# Users can customize the names of the following three databases. When OMS is deployed, the three databases will be created in the metadata database.
drc_rm_db: ${drc_rm_db}
drc_cm_db: ${drc_cm_db}
drc_cm_heartbeat_db: ${drc_cm_heartbeat_db}
# Configure OMS
# In single-node deployment, the IP address is usually set to the IP address of the current OMS server (we recommend that you use an intranet IP address).
cm_url: ${cm_url}
cm_location: ${cm_location}
# If you deploy the CM single-node edition, you do not need to set cm_region.
# cm_region: ${cm_region}
# If you deploy a single node, do not set cm_region_cn.
# cm_region_cn: ${cm_region_cn}
cm_nodes:
- ${cm_nodes}
console_nodes:
- ${cm_nodes}
# Configure time series databases
# The default value is false. To enable the metrics reporting feature, set the value to true.
# tsdb_enabled: false
# If tsdb_enabled is set to true, remove the comments from the following parameters and specify appropriate values.
# tsdb_service: 'INFLUXDB'
# tsdb_url: '${tsdb_url}'
# tsdb_username: ${tsdb_user}
# tsdb_password: ${tsdb_password}
| Parameter | Description | Required |
|---|---|---|
| oms_cm_meta_host | The IP address of the metadata database of the CM database. Currently, only the MySQL compatible mode of OceanBase Database is supported, and the version must be V2.0 or later. | Required. |
| oms_cm_meta_password | The password of the metadata database of the CM database. | Required. |
| oms_cm_meta_port | The port of the metadata database of the CM database. | Required. |
| oms_cm_meta_user | The username of the metadata database of the CM database. | Required. |
| oms_rm_meta_host | The IP address of the metadata database of the RM database. Currently, only the MySQL compatible mode of OceanBase Database is supported, and the version must be V2.0 or later. | Required. |
| oms_rm_meta_password | The password of the RM metadata database. | Required. |
| oms_rm_meta_port | The port of the RM metadata database. | Required. |
| oms_rm_meta_user | The username of the RM database for storing metadata. | Required. |
| drc_rm_db | The name of the database for the console. | Required. |
| drc_cm_db | The name of the MetaDB of the cluster management service. | Required. |
| drc_cm_heartbeat_db | The name of the heartbeat database of the cluster management service. | |
| cm_url | The address of the OMS cluster management service. For example, http://xxx.xxx.xxx.xxx:8088. Note: In single-node deployment mode, the IP address of the current OMS server is usually configured. We recommend that you do not use http://127.0.0.1:8088. The OMS console can be accessed at: IP address of the host where OMS is deployed:8089. For example, http (https)://xxx.xxx.xxx.xxx:8089. Port 8088 is the program port for scheduling, and port 8089 is the port for web addresses. Port 8088 must be used here. |
Required. |
| cm_location | The cm_location parameter specifies the region code, which ranges from 0 to 127. Each region is assigned a number, which you can choose. | Required. |
| cm_region | The region, such as cn-jiangsu. Notice: If you use the MSHA product of Alibaba Cloud in an active-active disaster recovery scenario, use the region information of Alibaba Cloud as cm_region. The active-active disaster recovery feature is deprecated in OMS V4.3.1. |
Optional. |
| cm_region_cn | The Chinese name of the region. For example, Jiangsu. | |
| cm_nodes |
|
Required. |
| console_nodes |
|
This parameter is optional in integrated deployment mode but required in separate deployment mode. |
| tsdb_enabled | Specifies whether to enable the metric reporting feature (monitoring capability), which can take the values of true or false. |
Optional. Default value: false. |
| tsdb_service | The type of the time series database. Valid values: INFLUXDB and CERESDB. |
Optional. Default value: INFLUXDB. |
| tsdb_url | The IP address of the server where InfluxDB is deployed. If tsdb_enabled is set to true, change the value of this parameter based on your environment. |
|
| tsdb_username | The username of the time series database. If tsdb_enabled is set to true, modify this parameter based on your actual environment. After the time series database is deployed, you need to manually create a time series database user and specify the username and password. |
|
| tsdb_password | The password of the time series database. If tsdb_enabled is set to true, change the value of this parameter based on your specific environment. |
Configuration file sample
Please replace the actual values of the parameters based on your target deployment environment.
oms_cm_meta_host: xxx.xxx.xxx.xxx
oms_cm_meta_password: **********
oms_cm_meta_port: 2883
oms_cm_meta_user: oms_cm_meta_user
oms_rm_meta_host: xxx.xxx.xxx.xxx
oms_rm_meta_password: **********
oms_rm_meta_port: 2883
oms_rm_meta_user: oms_rm_meta_user
drc_rm_db: oms_rm
drc_cm_db: oms_cm
drc_cm_heartbeat_db: oms_cm_heartbeat
cm_url: http://xxx.xxx.xxx.xxx:8088
cm_location: 100
cm_region: cn-anhui
cm_region_cn: Anhui
cm_nodes:
- xxx.xxx.xxx.xxx
tsdb_service: 'INFLUXDB'
tsdb_enabled: true
tsdb_url: 'xxx.xxx.xxx.xxx:8086'
tsdb_username: username
tsdb_password: *************