OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Migration Service

V4.2.8Community Edition

  • OMS Documentation
  • What's New
  • OMS Community Edition Introduction
    • What is OMS Community Edition?
    • Terms
    • OMS Community Edition HA
    • Architecture
      • Overview
      • Hierarchical functional system
      • Basic components
    • Limitations
  • Quick Start
    • Data migration process
    • Data synchronization process
  • Deploy OMS Community Edition
    • Deployment modes
    • System and network requirements
    • Memory and disk requirements
    • Prepare the environment
    • Deploy OMS Community Edition on a single node
    • Deploy OMS Community Edition on multiple nodes in a single region
    • Deploy OMS Community Edition on multiple nodes in multiple regions
    • Integrate the OIDC protocol into OMS Community Edition to implement SSO
    • Scale out OMS Community Edition
    • Check the deployment
    • Deploy a time-series database (Optional)
  • OMS Community Edition console
    • Log on to the console of OMS Community Edition
    • Overview
    • User center
      • Configure user information
      • Change your logon password
      • Log off
  • Data migration
    • Overview
    • Migrate data from a MySQL database to OceanBase Database Community Edition
    • Migrate data from HBase to OBKV
    • Migrate incremental data from OBKV to HBase
    • Migrate data from a Milvus database to OceanBase Database Community Edition
    • Migrate data from a Redis database to an OBKV-Redis database
    • Migrate data between tenants of OceanBase Database Community Edition
    • Migrate data in active-active disaster recovery scenarios
    • Migrate data from a TiDB database to OceanBase Database Community Edition
    • Migrate data from a PostgreSQL database to OceanBase Database Community Edition
    • Migrate data from a Hive database to OceanBase Database Community Edition
    • Migrate data from a Qdrant database to OceanBase Database Community Edition
    • Manage data migration tasks
      • View details of a data migration task
      • Change the name of a data migration task
      • View and modify migration objects
      • Manage computing platforms
      • Use tags to manage data migration tasks
      • Perform batch operations on data migration tasks
      • Download and import settings of migration objects
      • Start and pause a data migration task
      • Release and delete a data migration task
    • Features
      • DML filtering
      • DDL synchronization
      • Configure matching rules for migration objects
      • Wildcard rules
      • Rename a database table
      • Use SQL conditions to filter data
      • Create and update a heartbeat table
      • Schema migration mechanisms
      • Schema migration operations
      • Set an incremental synchronization timestamp
      • Direct load
    • Supported DDL operations in incremental migration and limits
      • DDL synchronization from MySQL database to OceanBase Community Edition
        • Overview of DDL synchronization from a MySQL database to a MySQL-compatible tenant of OceanBase Database
        • CREATE TABLE
          • Create a table
          • Create a column
          • Create an index or a constraint
          • Create partitions
        • Data type conversion
        • ALTER TABLE
          • Modify a table
          • Operations on columns
          • Operations on constraints and indexes
          • Operations on partitions
        • TRUNCATE TABLE
        • RENAME TABLE
        • DROP TABLE
        • CREATE INDEX
        • DROP INDEX
        • DDL incompatibilities between MySQL database and OceanBase Community Edition
          • Overview
          • Incompatibilities of the CREATE TABLE statement
            • Incompatibilities of CREATE TABLE
            • Column types that are supported to create indexes or constraints
          • Incompatibilities of the ALTER TABLE statement
            • Incompatibilities of ALTER TABLE
            • Change the type of a constrained column
            • Change the type of an unconstrained column
            • Change the length of a constrained column
            • Change the length of an unconstrained column
            • Delete a constrained column
          • Incompatibilities of DROP INDEX operations
      • Supported DDL operations in incremental migration between MySQL-compatible tenants of OceanBase Database
  • Data synchronization
    • Data synchronization overview
    • Create a task to synchronize data from OceanBase Database Community Edition to a Kafka instance
    • Create a task to synchronize data from OceanBase Database Community Edition to a RocketMQ instance
    • Manage data synchronization tasks
      • View details of a data synchronization task
      • Change the name of a data synchronization task
      • View and modify synchronization objects
      • Use tags to manage data synchronization tasks
      • Perform batch operations on data synchronization tasks
      • Download and import the settings of synchronization objects
      • Start and pause a data synchronization task
      • Release and delete a data synchronization task
    • Features
      • DML filtering
      • DDL synchronization
      • Configure matching rules for synchronization objects
      • Rename a topic
      • Use SQL conditions to filter data
      • Column filtering
      • Data formats
  • Create and manage data sources
    • Create data sources
      • Create an OceanBase-CE data source
      • Create a MySQL data source
      • Create a TiDB data source
      • Create a Kafka data source
      • Create a RocketMQ data source
      • Create a PostgreSQL data source
      • Create an HBase data source
      • Create a Qdrant data source
      • Create a Milvus data source
      • Create a Redis data source
      • Create a Hive data source
    • Manage data sources
      • View data source information
      • Copy a data source
      • Edit a data source
      • Delete a data source
      • Cache system views
    • Create a database user
    • User privileges
    • Enable binlogs for the MySQL database
  • OPS & Monitoring
    • O&M overview
    • Go to the overview page
    • Server
      • View server information
      • Update the quota
      • View server logs
    • Components
      • Store
        • Create a store
        • View details of a store
        • Update the configurations of a store
        • Start and pause a store
        • Delete a store
      • Incr-Sync
        • View details of an Incr-Sync component
        • Start and pause an Incr-Sync component
        • Migrate an Incr-Sync component
        • Update the configurations of an Incr-Sync component
        • Batch O&M
        • Delete an Incr-Sync component
      • Full-Import
        • View details of a Full-Import component
        • Pause a Full-Import component
        • Rerun and resume a Full-Import component
        • Update the configurations of a Full-Import component
        • Delete a Full-Import component
      • Full-Verification
        • View details of a Full-Verification component
        • Pause a Full-Verification component
        • Rerun and resume a Full-Verification component
        • Update the configurations of a Full-Verification component
        • Delete a Full-Verification component
      • Component parameters
        • Coordinator
        • Condition
        • Source Plugin
          • Overview
          • StoreSource
          • DataFlowSource
          • LogProxySource
          • KafkaSource (TiDB)
          • HBaseSource
          • HiveSource
        • Sink Plugin
          • Overview
          • JDBC-Sink
          • KafkaSink
          • DatahubSink
          • RocketMQSink
          • HBaseSink
          • HiveSink
        • Store parameters
          • Parameters of a MySQL store
          • Parameters of an OceanBase store
        • Parameters of the CM component
        • Parameters of the Supervisor component
        • Parameters of the Full-Verification component
    • O&M Task
      • View O&M tasks
      • Skip a task or subtask
      • Retry a task or subtask
  • System management
    • Permission Management
      • Overview
      • Manage users
      • Manage departments
    • Alert center
      • View task alerts
      • View system alerts
      • Manage alert settings
    • Associate with OCP
    • System parameters
      • Modify system parameters
      • Modify HA configurations
  • OMS Community Edition O&M
    • Manage OMS services
    • OMS logs
    • Component O&M
      • O&M operations for the Supervisor component
      • CLI-based O&M for the Connector component
      • O&M operations for the Store component
    • Component tuning
      • Incr-Sync or Full-Import tuning
    • Set throttling
  • Reference Guide
    • API Reference
      • Overview
      • CreateProject
      • StartProject
      • StopProject
      • ResumeProject
      • ReleaseProject
      • DeleteProject
      • ListProjects
      • DescribeProject
      • DescribeProjectSteps
      • DescribeProjectStepMetric
      • DescribeProjectProgress
      • DescribeProjectComponents
      • ListProjectFullVerifyResult
      • StartProjectsByLabel
      • StopProjectsByLabel
      • CreateMysqlDataSource
      • CreateMySQLMasterSlaveDataSource
      • CreateOceanBaseDataSource
      • ListDataSource
      • CreateLabel
      • ListAllLabels
      • ListFullVerifyInconsistenciesResult
      • ListFullVerifyCorrectionsResult
      • UpdateStore
      • UpdateFullImport
      • UpdateIncrSync
      • UpdateFullVerification
    • OMS error codes
    • Alert Reference
      • oms_host_down
      • oms_host_down_migrate_resource
      • oms_host_threshold
      • oms_migration_failed
      • oms_migration_delay
      • oms_sync_failed
      • oms_sync_status_inconsistent
      • oms_sync_delay
    • Telemetry parameters
  • Upgrade Guide
    • Overview
    • Upgrade OMS Community Edition in single-node deployment mode
    • Upgrade OMS Community Edition in multi-node deployment mode
    • Upgrade the CDC library
    • FAQ
  • FAQ
    • General O&M
      • How do I modify the resource quotas of an OMS container?
      • Clear files in the Store component
      • How do I troubleshoot the OMS server down issue?
      • Deploy InfluxDB for OMS
      • Increase the disk space of the OMS host
    • Task diagnostics
      • What do I do when a store does not have data of the timestamp requested by the downstream?
      • What do I do when OceanBase Store failed to access an OceanBase cluster through RPC?
    • OPS & monitoring
      • What are the alert rules?
    • Data synchronization
      • FAQ about synchronization to a message queue
        • What are the strategies for ensuring the message order in incremental data synchronization to Kafka
      • Performance troubleshooting and tuning for data synchronization from OceanBase Community Edition to Kafka
    • Data migration
      • Full migration
        • How do I query the ID of a checker?
        • How do I query log files of the Checker component of OMS?
        • How do I query the verification result files of the Checker component of OMS?
        • What do I do if the destination table does not exist?
        • What can I do when the full migration failed due to LOB fields?
        • What do I do if garbled characters cannot be written into OceanBase Database V3.1.2?
      • Incremental synchronization
        • How do I skip DDL statements?
        • How do I update whitelists and blacklists?
        • What are the application scope and limits of ETL?
    • Logon and password
      • What do I do if my logon password is locked?
    • Installation and deployment
      • How do I upgrade Store?
      • How do I upgrade CDC?
      • What do I do when the "Failed to fetch" error is reported?
      • Change port numbers for components
      • Switching between the primary and standby OMS MetaDBs

Download PDF

OMS Documentation What's New What is OMS Community Edition? Terms OMS Community Edition HA Overview Hierarchical functional system Basic components Limitations Data migration process Data synchronization process Deployment modes System and network requirements Memory and disk requirements Prepare the environment Deploy OMS Community Edition on a single node Deploy OMS Community Edition on multiple nodes in a single region Deploy OMS Community Edition on multiple nodes in multiple regions Integrate the OIDC protocol into OMS Community Edition to implement SSO Scale out OMS Community Edition Check the deployment Deploy a time-series database (Optional) Log on to the console of OMS Community Edition Overview Configure user information Change your logon password Log off Overview Migrate data from a MySQL database to OceanBase Database Community Edition Migrate data from HBase to OBKV Migrate incremental data from OBKV to HBase Migrate data from a Milvus database to OceanBase Database Community Edition Migrate data from a Redis database to an OBKV-Redis database Migrate data between tenants of OceanBase Database Community Edition Migrate data in active-active disaster recovery scenarios Migrate data from a TiDB database to OceanBase Database Community Edition Migrate data from a PostgreSQL database to OceanBase Database Community Edition Migrate data from a Hive database to OceanBase Database Community Edition Migrate data from a Qdrant database to OceanBase Database Community Edition View details of a data migration task Change the name of a data migration task View and modify migration objects Manage computing platforms Use tags to manage data migration tasks Perform batch operations on data migration tasks Download and import settings of migration objects Start and pause a data migration task Release and delete a data migration task DML filtering DDL synchronization Configure matching rules for migration objects Wildcard rules Rename a database table Use SQL conditions to filter data Create and update a heartbeat table Schema migration mechanisms Schema migration operations Set an incremental synchronization timestamp Direct load Supported DDL operations in incremental migration between MySQL-compatible tenants of OceanBase Database Data synchronization overview Create a task to synchronize data from OceanBase Database Community Edition to a Kafka instance Create a task to synchronize data from OceanBase Database Community Edition to a RocketMQ instance View details of a data synchronization task Change the name of a data synchronization task View and modify synchronization objects Use tags to manage data synchronization tasks Perform batch operations on data synchronization tasks Download and import the settings of synchronization objects Start and pause a data synchronization task Release and delete a data synchronization task DML filtering DDL synchronization Configure matching rules for synchronization objects Rename a topic Use SQL conditions to filter data Column filtering Data formats Create an OceanBase-CE data source Create a MySQL data source Create a TiDB data source Create a Kafka data source Create a RocketMQ data source Create a PostgreSQL data source Create an HBase data source Create a Qdrant data source Create a Milvus data source Create a Redis data source Create a Hive data source View data source information Copy a data source Edit a data source Delete a data source Cache system views Create a database user User privileges Enable binlogs for the MySQL database O&M overview Go to the overview page View server information
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Migration Service
  3. V4.2.8
iconOceanBase Migration Service
V 4.2.8Community Edition
Enterprise Edition
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.5
  • V 4.2.4
  • V 4.2.3
  • V 4.0.2
  • V 3.4.0
Community Edition
  • V 4.2.12
  • V 4.2.11
  • V 4.2.10
  • V 4.2.9
  • V 4.2.8
  • V 4.2.7
  • V 4.2.6
  • V 4.2.5
  • V 4.2.4
  • V 4.2.3
  • V 4.2.1
  • V 4.2.0
  • V 4.0.0
  • V 3.3.1

Scale out OMS Community Edition

Last Updated:2025-05-12 01:55:52  Updated
share
What is on this page
Scale out OMS Community Edition from a single node
Scenario 1
Scenario 2
Scale out OMS Community Edition from a single region
Scale out OMS Community Edition from multiple nodes in a single region
Scale out OMS Community Edition from two nodes in a single region, a virtual IP address (VIP) is specified for cm_url
Procedure

folded

share

This article introduces how to scale out OMS Community Edition from a single region, a single node, and multiple nodes in a single region.

Scale out OMS Community Edition from a single node

The following two scenarios are possible:

  • Scenario 1: A virtual IP address (VIP) is specified for the cm_url parameter of the initial node.

  • Scenario 2: The IP address of a physical server is specified for the cm_url parameter of the initial node.

Scenario 1

Perform the same steps as in single-node deployment. For more information, see Deploy OMS Community Edition on a single node.

Notice

When you start the container, the value of -e OMS_HOST_IP must be the IP address of the current server.

Here is a sample config.yaml configuration file where the IP address of the original node is xxx.xxx.xxx.1 and that of the added node is xxx.xxx.xxx.2

# Information about the MetaDB cluster for OMS Community Edition
oms_meta_host: ${oms_meta_host}
oms_meta_port: ${oms_meta_port}
oms_meta_user: ${oms_meta_user}
oms_meta_password: ${oms_meta_password}

# When you scale out OMS Community Edition from one node to multiple nodes, make sure that the names of the following three databases are consistent with those of the initial node.
drc_rm_db: ${drc_rm_db}
drc_cm_db: ${drc_cm_db}
drc_cm_heartbeat_db: ${drc_cm_heartbeat_db}

# Configurations of OMS Community Edition
cm_url: http://VIP:8088
cm_location: ${cm_location}
cm_region: ${cm_region}
cm_region_cn: ${cm_region_cn}
cm_is_default: true
cm_nodes:
 - xxx.xxx.xxx.1
 - xxx.xxx.xxx.2

# Configurations of the time-series database
# The default value of `tsdb_enabled`, which specifies whether to configure a time-series database, is `false`. To enable metric reporting, set the parameter to `true` and delete the comments for the parameter.
# tsdb_enabled: false 
# If the `tsdb_enabled` parameter is set to `true`, delete comments for the following parameters and specify the values based on your actual configurations.
# tsdb_service: 'INFLUXDB'
# tsdb_url: '${tsdb_url}'
# tsdb_username: ${tsdb_user}
# tsdb_password: ${tsdb_password}

Scenario 2

In this scenario, you need to correct data as follows:

Note

You need to correct data in the location_cm, host, and resource_group tables of the drc_cm_db database, as well as the cluster_info table of the drc_rm_db database.

  1. Configure the VIP, Server Load Balancer (SLB), or domain name and bind the IP addresses of all physical servers in the region.

    For example, the VIP is bound to physical servers whose IP addresses are xxx.xxx.xxx.1 and xxx.xxx.xxx.2.

  2. Stop the processes in the original container. Here is an example of stopping the processes in the oms_330 container:

    sudo docker exec -it oms_330 bash  
    supervisorctl stop all
    
  3. Take the drc_rm_db database and the cluster_info table for example. Log in to the database and perform the following operations:

    1. Query and back up the data in the cluster_info table.

      select * from cluster_info;
      
    2. Delete the data from the cluster_info table.

      delete from cluster_info;
      
  4. Modify the configuration file in the oms_330 container.

    # The /home/admin/conf/config.yaml directory is fixed in Docker.
    sudo vi /home/admin/conf/config.yaml
    
    # Modify cm_url and cm_nodes.
    cm_url: http://VIP:8088
    cm_nodes:
     - xxx.xxx.xxx.1
     - xxx.xxx.xxx.2
    
  5. Reinitialize the data.

    sudo sh /root/docker_init.sh
    

    After the initialization is completed, check whether the value of the cm_url parameter in the cluster_info table of the database is consistent with the VIP.

  6. Replicate the configuration file and start the container of OMS Community Edition on another server.

    Notice

    • When you start the container, the value of -e OMS_HOST_IP must be the IP address of the current server.

    • You need to replace work.oceanbase-dev.com/obartifact-store/oms:${IMAGE_TAG} with the image name specified in the docker load -i command.

    OMS_HOST_IP=xxx
    CONTAINER_NAME=oms_xxx
    IMAGE_TAG=feature_x.x.x-ce
    
    docker run -dit --net host \
    -v /data/config.yaml:/home/admin/conf/config.yaml \
    -v /data/oms/oms_logs:/home/admin/logs \
    -v /data/oms/oms_store:/home/ds/store \
    -v /data/oms/oms_run:/home/ds/run \
    # If you mount the SSL certificate to the container of OMS Community Edition, you must set the following two parameters:
    -v /data/oms/https_crt:/etc/pki/nginx/oms_server.crt 
    -v /data/oms/https_key:/etc/pki/nginx/oms_server.key
    -e OMS_HOST_IP=${OMS_HOST_IP} \
    --privileged=true \
    --pids-limit -1 \
    --ulimit nproc=65535:65535 \
    --name ${CONTAINER_NAME} \
    work.oceanbase-dev.com/obartifact-store/oms:${IMAGE_TAG}
    

Scale out OMS Community Edition from a single region

The procedure is generally the same as that for deploying OMS on a single node. A difference is that the value of the drc_cm_heartbeat_db parameter in the config.yaml file must be different from the name of the heartbeat_db database used by the initial node of OMS Community Edition. In addition, you need to modify the following parameters for the new region: cm_url, cm_location, cm_region, cm_region_cn, cm_is_default, and cm_nodes.

  1. Log in to the server where OMS Community Edition is to be deployed.

  2. (Optional) Deploy a time-series database.

    If you need to collect and display the monitoring data of OMS Community Edition, deploy a time-series database. Otherwise, you can skip this step. For more information, see Deploy a time-series database.

  3. Prepare the configuration file.

    Edit the configuration file of OMS Community Edition in the appropriate directory. For example, you can create the config.yaml configuration file in the /root/ directory.

    You must replace the sample values of required parameters based on your actual deployment environment. The following example describes how to set the config.yaml file and scale out OMS Community Edition deployed on the host xxx.xxx.xxx.xx1 in the Jiangsu region:

    Notice

    In the config.yaml file, you must specify the parameters in the key: value format, with a space after the colon (:).

    # Information about the MetaDB cluster for OMS Community Edition
    oms_meta_host: ${oms_meta_host}
    oms_meta_port: ${oms_meta_port}
    oms_meta_user: ${oms_meta_user}
    oms_meta_password: ${oms_meta_password}
    
    # Keep the values of the drc_rm_db and drc_cm_db parameters consistent with those of the initial node.
    drc_rm_db: ${drc_rm_db}
    drc_cm_db: ${drc_cm_db}
    # The name of the drc_cm_heartbeat_db database must be different from that of the heartbeat_db database for the initial node.
    drc_cm_heartbeat_db: ${drc_cm_heartbeat_db}
    
    # Configurations of OMS Community Edition
    # Specify the following parameters for the region to be scaled.
    cm_url: http://xxx.xxx.xxx.1:8088
    cm_location: ${cm_location}
    cm_region: cn-jiangsu
    cm_region_cn: cn-jiangsu
    cm_is_default: true
    cm_nodes:
     - xxx.xxx.xxx.1
    
    # Configurations of the time-series database
    # The default value of `tsdb_enabled`, which specifies whether to configure a time-series database, is `false`. To enable metric reporting, set the parameter to `true` and delete the comments for the parameter.
    # tsdb_enabled: false 
    # If the `tsdb_enabled` parameter is set to `true`, delete comments for the following parameters and specify the values based on your actual configurations.
    # tsdb_service: 'INFLUXDB'
    # tsdb_url: '${tsdb_url}'
    # tsdb_username: ${tsdb_user}
    # tsdb_password: ${tsdb_password}
    
    Parameter Description Required?
    oms_meta_host The IP address of the MetaDB cluster, which can be that of a MySQL database or a MySQL-compatible tenant of OceanBase Database Community Edition. Yes
    oms_meta_port The port number of the MetaDB cluster. Yes
    oms_meta_user The username used for accessing the MetaDB cluster. Yes
    oms_meta_password The user password used for accessing the MetaDB cluster. Yes
    drc_rm_db The name of the database for the console of OMS Community Edition. The name must be the same as the setting for the initial node. Yes
    drc_cm_db The name of the database for the CM service. The name must be the same as the setting for the initial node. Yes
    drc_cm_heartbeat_db The name of the heartbeat database for the CM service. Specify a name that is different from that of the heartbeat_db database for the initial node. Yes
    cm_url The URL of the CM service of OMS Community Edition, for example, http://xxx.xxx.xxx.1:8088.
    Note
    In single-node deployment mode, the URL of the CM service is generally set to the IP address of the server where OMS Community Edition is deployed.
    We recommend that you do not set it to http://127.0.0.1:8088, which cannot be used for scaling out to multiple nodes in multiple regions.
    Yes
    cm_location The code of the region. Value range: [0, 127]. You can select one number for each region. Yes
    cm_region The name of the region, for example, cn-jiangsu.
    Notice
    If you use OMS Community Edition in combination with the Alibaba Cloud Multi-Site High Availability (MSHA) service in an active-active disaster recovery scenario, use the region configured for the Alibaba Cloud service.
    No
    cm_region_cn The value here is the same as the value of cm_region. No
    cm_nodes The IP addresses of servers on which the CM service of OMS Community Edition is deployed. In this example, the value is xxx.xxx.xxx.1. Yes
    cm_is_default Specifies whether the CM service is enabled for OMS Community Edition by default.
    Notice
    When multiple regions exist, the cm_is_default parameter can be set to true only for one region, which indicates that the CM service is enabled for OMS Community Edition by default.
    No. Default value: true.
    tsdb_enabled Specifies whether metric reporting is enabled for monitoring. Valid values: true and false. No. Default value: false.
    tsdb_service The type of the time-series database. Valid values: INFLUXDB and CERESDB. No. Default value: INFLUXDB.
    tsdb_url The IP address of the server where InfluxDB is deployed. You need to modify this parameter based on the actual environment if you set the tsdb_enabled parameter to true. No
    tsdb_username The username used for accessing the time-series database. You need to modify this parameter based on the actual environment if you set the tsdb_enabled parameter to true. After you deploy a time-series database, manually create a user and specify the username and password. No
    tsdb_password The password used for accessing the time-series database. You need to modify this parameter based on the actual environment if you set the tsdb_enabled parameter to true. No
  4. Load the downloaded installation package of OMS Community Edition to the local image repository of the Docker container.

    docker load -i <Installation package of OMS Community Edition>
    
  5. Run the following command to start the container.

    You can access the console of OMS Community Edition by using an HTTP or HTTPS URL. To securely access the console of OMS Community Edition, install an SSL certificate and mount it to the specified directory in the container. The certificate is not required for HTTP access.

    OMS_HOST_IP=xxx
    CONTAINER_NAME=oms_xxx
    IMAGE_TAG=feature_x.x.x-ce
    
    docker run -dit --net host \
    -v /data/config.yaml:/home/admin/conf/config.yaml \
    -v /data/oms/oms_logs:/home/admin/logs \
    -v /data/oms/oms_store:/home/ds/store \
    -v /data/oms/oms_run:/home/ds/run \
    # If you mount the SSL certificate to the container of OMS Community Edition, you must set the following two parameters:
    -v /data/oms/https_crt:/etc/pki/nginx/oms_server.crt 
    -v /data/oms/https_key:/etc/pki/nginx/oms_server.key
    -e OMS_HOST_IP=${OMS_HOST_IP} \
    --privileged=true \
    --pids-limit -1 \
    --ulimit nproc=65535:65535 \
    --name ${CONTAINER_NAME} \
    work.oceanbase-dev.com/obartifact-store/oms:${IMAGE_TAG}
    
    Parameter Description
    OMS_HOST_IP The IP address of the host.
    CONTAINER_NAME The name of the container, in the oms_xxx format. Specify xxx based on the actual OMS version.
    IMAGE_TAG The unique identifier of the loaded image. After you load the installation package of OMS Community Edition by using Docker, run the docker images command to obtain the [IMAGE ID] or [REPOSITORY:TAG] value of the loaded image. The obtained value is the unique identifier (<OMS_IMAGE>) of the loaded image.

    Notice

    You need to replace work.oceanbase-dev.com/obartifact-store/oms:${IMAGE_TAG} with the image name specified in the docker load -i command.

    /data/oms/oms_logs
    /data/oms/oms_store
    /data/oms/oms_run
    /data/oms/oms_logs, /data/oms/oms_store, and /data/oms/oms_run can be replaced with the mount directories created on the server where OMS Community Edition is deployed to respectively store the runtime log files of OMS Community Edition, the files generated by the Store component, and the files generated by the Incr-Sync component, for local data persistence.
    Notice
    The mount directories must remain unchanged during subsequent redeployment or upgrades.
    /home/admin/logs
    /home/ds/store
    /home/ds/run
    /home/admin/logs, /home/ds/store, and /home/ds/run are default directories in the container and cannot be modified.
    /data/oms/https_crt (optional)
    /data/oms/https_key (optional)
    The mount directory of the SSL certificate in the container of OMS Community Edition. Specify the directory based on the actual situation. If you mount an SSL certificate, the Nginx service in the container of OMS Community Edition runs in HTTPS mode. In this case, you can access the console of OMS Community Edition by using only the HTTPS URL.
    privileged Specifies whether to grant extended privileges on the container.
    pids-limit Specifies whether to limit the number of container processes. The value -1 indicates that the number is unlimited.
    ulimit nproc The maximum number of user processes.
  6. Go to the new container.

    docker exec -it  ${CONTAINER_NAME} bash  
    

    Notice

    CONTAINER_NAME specifies the name of the container.

  7. Perform metadata initialization in the root directory.

    bash /root/docker_init.sh
    

    The initialization process is as follows:

    1. Initialize the data in the MetaDB.

    2. Generate configuration files for the components.

    3. Restart all components.

    4. Initialize the resource tags and resource groups of OMS Community Edition.

    During the execution of the docker_init.sh script, pay attention to the command output. When the execution is completed, the following message is displayed: [Completed] All initialization steps are executed.

    Notice

    The execution takes 2 to 4 minutes. Be patient and do not interrupt the execution process.

    Scale out OMS Community Edition from multiple nodes in a single region

Scale out OMS Community Edition from two nodes in a single region, a virtual IP address (VIP) is specified for cm_url

This example describes how to scale out OMS Community Edition V4.2.7-CE from multiple nodes in a single region docker_remote_deploy.sh.

  1. Pull the OMS Community Edition V4.2.7-CE image and obtain the deployment script from the loaded image.

    sudo docker pull <OMS_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-tool
    
  2. Run the deployment script to start the deployment tool.

sudo sh docker_remote_deploy.sh -o <OMS mount directory> -i <public IP address> -d <OMS_IMAGE>
  1. Deploy OMS in a single region with two nodes based on the prompts from the tool. For more information, see Deploy OMS in a single region.

  2. After the initialization is completed, log in to the OMS Community Edition console to verify.

Procedure

In this example, the cm_url parameter is set to the value of the VIP http://xxx.xxx.xxx.1:1188 based on the initial configuration, and the cm_nodes parameter is set to xxx.xxx.xxx.2 for the new node to be added. The procedure for scaling out OMS from multiple nodes in a single region is as follows.

  1. Configure the VIP, SLB, or domain name and add the new node.

  2. Copy the configuration file and add the new node to be expanded in the config.yaml file. For example, add xxx.xxx.xxx.2 to the cm_nodes parameter.

  3. Run the following command to start a container.

    OMS_HOST_IP=xxx.xxx.xxx.2
    CONTAINER_NAME=oms_xxx
    IMAGE_TAG=feature_x.x.x-ce
    docker run -dit --net host \
    -v /data/config.yaml:/home/admin/conf/config.yaml \
    -v /data/oms/oms_logs:/home/admin/logs \
    -v /data/oms/oms_store:/home/ds/store \
    -v /data/oms/oms_run:/home/ds/run \
    # The following two parameters are required only if you mount the HTTPS certificate in the OMS Community Edition container.
    #-v /data/oms/https_crt:/etc/pki/nginx/oms_server.crt 
    #-v /data/oms/https_key:/etc/pki/nginx/oms_server.key
    -e OMS_HOST_IP=${OMS_HOST_IP} \
    --privileged=true \
    --pids-limit -1 \
    
    --ulimit nproc=65535:65535 \
    --name ${CONTAINER_NAME} \
    work.oceanbase-dev.com/obartifact-store/oms:${IMAGE_TAG}
    
    Parameter Description
    OMS_HOST_IP The IP address of the host. This parameter must be set to the IP address of the node to be expanded.
    CONTAINER_NAME The name of the container. The value of this parameter must be in the format of oms_xxx, where xxx indicates the version number.
    IMAGE_TAG After you use Docker to load the OMS Community Edition installation package, you can run the docker images command to obtain the [IMAGE ID] or [REPOSITORY:TAG] of the loaded image, which uniquely identifies the image. <OMS_IMAGE>.

    Notice

    Replace work.oceanbase-dev.com/obartifact-store/oms:${IMAGE_TAG} with the image name actually imported by running the docker load -i command.

    /data/oms/oms_logs
    /data/oms/oms_store
    /data/oms/oms_run
    You can replace /data/oms/oms_logs, /data/oms/oms_store, and /data/oms/oms_run with mount directories created on the OMS Community Edition deployment host to store log files generated during OMS Community Edition operation, files generated by the log pulling component, and files generated by the synchronization component, respectively. These mount directories are used for persistent storage on the local host.
    Notice:
    The mount directories must not be changed when you redeploy or upgrade OMS in the later versions.
    /home/admin/logs
    /home/ds/store
    /home/ds/run
    /home/admin/logs, /home/ds/store, and /home/ds/run are fixed directories in the container. The paths of these directories cannot be modified.
    /data/oms/https_crt (Optional)
    /data/oms/https_key (Optional)
    The mount directory for the HTTPS certificate in the OMS Community Edition container. If you mount the HTTPS certificate, the Nginx service in the OMS Community Edition container runs in HTTPS mode. You can only use the console service of OMS Community Edition in HTTPS mode.
    privileged Grants extended privileges to the container.
    pids-limit Configures the process limit of the container. The value -1 indicates no limit.
    ulimit nproc Configures the upper limit of user processes.
  4. Go to the container.

       docker exec -it  ${CONTAINER_NAME} bash  
    
  5. In the root directory, execute the metadata initialization operation.

    bash /root/docker_init.sh
    
  6. After the initialization is completed, log in to the OMS Community Edition console to verify.

Previous topic

Integrate the OIDC protocol into OMS Community Edition to implement SSO
Last

Next topic

Check the deployment
Next
What is on this page
Scale out OMS Community Edition from a single node
Scenario 1
Scenario 2
Scale out OMS Community Edition from a single region
Scale out OMS Community Edition from multiple nodes in a single region
Scale out OMS Community Edition from two nodes in a single region, a virtual IP address (VIP) is specified for cm_url
Procedure