---
title: "单节点部署 | OceanBase 文档中心"
description: 单节点部署 本文为您介绍如何在单节点中使用 OMS 社区版部署工具安装 OceanBase 迁移服务(OceanBase Migration Service，OMS) 社区版。 前提条件 确认安装环境符合系统和网络要求，详情请参见 系统和网络要求 。 已准备 MetaDB 集群作为 OMS 社区版的元信息库。 已获取…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 4.2.11 社区版

# 单节点部署

更新时间：2026-04-14 15:36:11

[编辑](https://github.com/oceanbase/oms-doc/edit/V4.2.11/zh-CN/400.deployment-guide/500.docker-deploy/100.deploy-oms-on-a-single-node.md)  

本文为您介绍如何在单节点中使用 OMS 社区版部署工具安装 OceanBase 迁移服务(OceanBase Migration Service，OMS) 社区版。

## 前提条件

- 确认安装环境符合系统和网络要求，详情请参见 [系统和网络要求](https://www.oceanbase.com/docs/community-oms-cn-1000000004253109)。
 - 已准备 MetaDB 集群作为 OMS 社区版的元信息库。
 - 已获取 OMS 社区版安装包，通常安装包为以 oms 开头的 `tar.gz` 文件。下载地址：[OceanBase 社区版下载中心](https://open.oceanbase.com/softwareCenter/community)。
 - 已加载下载的 OMS 社区版安装包至 Docker 容器的本地镜像仓库。

  ```shell
  docker load -i <OMS 社区版安装包>

  ```
 - 已准备一个 OMS 社区版容器挂载目录，OMS 社区版会在该目录下创建三个映射目录：`/home/admin/logs`、`/home/ds/store` 和 `/home/ds/run`，用于存放 OMS 社区版运行时的组件和日志信息。
 - （可选）已准备时序数据库为 OMS 社区版存储性能监控和 DDL/DML 统计数据信息。

## 名词解释

在后续指南中，部分命令和提示信息存在需要您自行替换的变量名。变量名会使用 `<>` 包裹，解释如下：

- OMS 社区版容器挂载目录：请参见前提条件中 OMS 社区版容器挂载目录的说明。
 - 本机 IP 地址：执行脚本的宿主机的 IP 地址。在单节点场景下，会被默认解析为 CM 配置信息中的对应 IP 地址。
 - OMS_IMAGE：使用 Docker 加载 OMS 社区版安装包后，通过 `docker images` 命令获取到加载的相应镜像的 [IMAGE ID] 或 [REPOSITORY:TAG]，即为相应加载后镜像的唯一标识符 `<OMS_IMAGE>`。示例如下：

  ```shell
  $sudo docker images
  REPOSITORY                               TAG                 IMAGE ID
  work.oceanbase-dev.com/obartifact-store/oms feature_4.0.0-ce    2786e8a6eccd

  ```

  则 `<OMS_IMAGE>` 可以是：`work.oceanbase-dev.com/obartifact-store/oms:feature_4.0.0-ce` 或 `2786e8a6eccd`。在后续指南中请替换相关命令中的 <OMS_IMAGE> 为上述值。
 - 已有 `config.yaml` 配置文件地址：如果您需要根据现有的 `config.yaml` 配置文件进行部署，该地址为现有配置文件的地址。

## 部署流程（无配置文件）

如果您之前没有 OMS 社区版的配置文件，推荐通过无配置文件流程生成全新的配置文件进行部署。如果已有配置文件，推荐通过有配置文件流程进行部署。

1. 登录 OMS 部署服务器。
 2. （可选）部署时序数据库。

   如果您需要 OMS 能够收集和展示监控数据，请部署时序数据库。如果无需展示监控数据，请跳过本步骤。操作详情请参见 [部署时序数据库](https://www.oceanbase.com/docs/community-oms-cn-1000000004253199)。
 3. 执行下述命令，从加载的镜像中获取部署脚本 `docker_remote_deploy.sh`。

   ```shell
   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

   ```

   示例如下：

   ```shell
   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-tool

   ```
 4. 通过部署脚本启动部署工具。

   ```shell
   bash docker_remote_deploy.sh -o <OMS 容器挂载目录> -i <本机 IP 地址> -d <OMS_IMAGE>

   ```

   此时，OMS 社区版部署工具会自动校验 CPU、Memory 和 Disk 三项配置的资源。其中任意一项资源不达标，则提示对应资源不足，影响数据迁移速度。
 5. 根据工具提示完成部署，每次输入后，通过回车进入下一步。

      1. 请选择部署模式：

        此处请选择 **单地域单节点** 选项。
      2. 请选择您所需要进行的任务：

        此处请选择 **无配置文件，全新部署 OMS，从生成配置文件开始**。
      3. 请输入下述 MetaDB 配置信息：

             1. 根据提示依次输入元信息数据库的 IP、端口、用户名和密码。

               #### 注意

               元信息数据库用户的密码不能为空，并且不支持特殊字符（包括换行、空格，以及 |"'`()=;/&[]{}）。
             2. 请为 OMS 社区版元数据库设置前缀。

               例如，当前缀设置为 oms 时，最终创建的元数据库名分别为 oms_rm、oms_cm 和 oms_cm_hb。
             3. 请确认配置信息。

               此处输入 y，表示确认上述配置信息无误。输入 n，请重新输入配置信息。

               如果出现 **元数据库中对应数据库名已存在！这样可以吗？** 提示，说明 MetaDB 集群中已存在您输入的数据库名称。该情况可能是由于重复部署或执行 OMS 社区版升级导致，请您自行确认后，输入 y 继续部署，或输入 n 重新输入配置信息。

               如果输入 y，会提示您 **元数据库中对应数据库名已存在,是否需要重新初始化元信息库**。此处输入 y，表示需要重新初始化元信息库。
      4. 请输入下述 OMS 社区版的配置信息：

             1. 设置是否自定义组件端口号，并配置相关参数。

               此处输入 y，表示需要进行自定义组件端口号配置，请根据界面提示，依次输入 Nginx、GHANA、CM、Supervisor 和 sshd 服务端口。
             2. 请确认获取到的默认 IP 地址是否正确。

               此处显示的 IP 地址对应启动部署脚本时，输入的 **本机 IP 地址**。如果确认无误，请输入 y。如果需要修改，请输入 n。
             3. 界面会展示 OMS 社区版的配置信息，请主要关注 `cm_url` 中的 IP 地址是否为本机 IP 地址，以及自定义端口是否正确。如果确认无误，请输入 y。如果需要修改，请输入 n。
      5. 请确认是否需要对 OMS 社区版历史数据进行监控。

             - 如果在 **（可选）部署时序数据库** 步骤选择部署时序数据库，请在该步输入 y，并跳转至 **配置时序数据库** 步骤，开启对 OMS 社区版历史数据的监控。
             - 如果在 **（可选）部署时序数据库** 步骤未选择部署时序数据库，请在该步输入 n，则跳转至 **是否开启审计日志功能，并配置相关 SLS 参数** 步骤。此时，部署后的 OMS 社区版不具备监控历史数据的功能。
      6. 配置时序数据库。

        请输入下述时序数据库的配置信息：

             1. 是否有已部署好的时序数据库服务？

               请根据实际情况填写。如果有，请输入 y。如果没有，则输入 n。
             2. 请选择时序数据库的类型：选择 “INFLUXDB”。

               #### 注意

               目前仅支持时序数据库 INFLUXDB。
             3. 请根据提示依次输入时序数据库的 URL、用户名和密码。
             4. 请确认展示的所有配置项信息。

               如果确认无误，请输入 y。如果需要修改，请输入 n。
      7. 是否需要开启 OMS 社区版审计日志功能，并将审计日志写入 SLS 服务？

        如果输入 y，表示开启审计日志功能。此时，跳转至 **输入 SLS 参数信息** 步骤。

        如果输入 n，则正式开始部署。此时，部署后的 OMS 社区版不具备审计日志功能。
      8. 输入 SLS 参数信息。

             1. 根据提示信息输入 SLS 的各项参数配置。
             2. 请确认展示的所有配置项信息。

               如果确认无误，请输入 y。如果需要修改，请输入 n。
      9. 如果配置文件检查通过，会为您展示所有的配置信息。如果确认无误，请输入 n。如果需要修改，请输入 y。

        如果配置文件未检查通过，请根据提示修改配置信息。
      10. 请输入节点 <节点 IP> 上预备部署 OMS 社区版的挂载目录:

         请输入一个有较大容量的目录作为 OMS 社区版容器的挂载目录。
      11. 请确认部署 OMS 社区版的镜像名为 <OMS_IMAGE> 是否可以。

         如果确认无误，请输入 y。如果需要修改，请输入 n。
      12. 请确认是否需要在 OMS 社区版容器中挂载 HTTPS 证书。

         如果需要，请输入 y，并根据提示输入 https_key、https_crt 目录。如果不需要，请输入 n。
      13. 请确认 <节点 IP> 下的配置文件 config.yaml 将写入的路径是否可以。

         如果确认无误，请输入 y。如果需要修改，请输入 n。
      14. 开始执行部署。

              - 执行部署过程中，您可以执行命令 `docker logs -f <OMS 社区版容器名>` 查看初始化执行情况。

               如果您需要查看所有启动初始化日志，可以执行命令 `docker logs <OMS 社区版容器名>`。
              - 如果部署失败，您可以登录至运行的 OMS 容器中，查看 `/home/admin/logs` 目录下以 `docker_init` 为前缀的 `.log` 文件，获取日志信息。
              - 如果 OMS 容器未成功启动，则无法获取日志。

## 部署流程（有配置文件）

如果已有 OMS 的配置文件可以通过部署工具对之前的配置文件进行校验，无需重复输入配置，根据之前的配置文件直接进行部署。

#### 说明

`config.yaml` 配置文件的设置请参见下文《配置文件的模板和示例》模块。

   ```shell
   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-tool

   ```shell
   bash docker_remote_deploy.sh -o <OMS 容器挂载目录> -c <已有 config.yaml 配置文件地址> -i <本机 IP 地址> -d <OMS_IMAGE>

   ```

   此时，OMS 社区版部署工具会自动校验 CPU、Memory 和 Disk 三项配置的资源。其中任意一项资源不达标，则提示对应资源不足，影响数据迁移速度。

   #### 说明

   `-c` 后的已有 config.yaml 配置文件地址必须是绝对路径。
 5. 根据工具提示完成部署，每次输入后，通过回车进入下一步。

      1. 请选择部署模式。

        此处请选择 **单地域单节点** 选项。
      2. 请选择您所需要进行的任务。

        此处请选择 **已通过脚本 [-c] 选项传入参考配置文件，基于参考配置文件开始配置**。
      3. 如果出现 **元数据库中对应数据库名已存在！这样可以吗？** 提示，说明原配置文件的元数据库中已存在您输入的数据库名称。该情况可能是由于重复部署或执行 OMS 社区版升级导致，请您自行确认后，输入 y 继续部署，或输入 n 重新输入配置信息。

        如果输入 y，会提示您 **元数据库中对应数据库名已存在,是否需要重新初始化元信息库**。此处输入 y，表示需要重新初始化元信息库。
      4. 如果配置文件检查通过，会为您展示所有的配置信息。如果确认无误，请输入 n。如果需要修改，请输入 y。

        如果配置文件未检查通过，请根据提示修改配置信息。
      5. 请输入节点 <节点 IP> 上预备部署 OMS 社区版容器的挂载目录:

        请输入一个有较大容量的目录作为 OMS 社区版容器的挂载目录。
      6. 请确认部署 OMS 社区版的镜像名为 <OMS_IMAGE> 是否可以。

        如果确认无误，请输入 y。如果需要修改，请输入 n。
      7. 请确认是否需要在 OMS 社区版容器中挂载 HTTPS 证书。

        如果需要，请输入 y，并根据提示输入 https_key、https_crt 目录。如果不需要，请输入 n。
      8. 开始执行部署。

部署完成后，如果您需要修改配置，请进行以下操作：

1. 登录至运行的 OMS 社区版容器。
 2. 根据业务需求，修改 `/home/admin/conf/config.yaml` 文件。
 3. 进入 `/root` 目录，执行命令 `python -m omsflow.scripts.units.oms_init_manager --init-config-file`。
 4. 执行命令 `supervisorctl restart oms_console oms_drc_supervisor`。

## 配置文件的模板和示例

### 配置文件模板

#### 注意

- 模板中的必填参数需要替换为您部署的目标环境的实际值。本文已将可选参数进行注释，您可以根据实际情况选择性修改。
 - `config.yaml` 文件中的 Key: Value，冒号后面必须加一个空格。

```yaml
# OMS 社区版元数据库信息
oms_meta_host: ${oms_meta_host}
oms_meta_port: ${oms_meta_port}
oms_meta_user: ${oms_meta_user}
oms_meta_password: ${oms_meta_password}

# 用户可以自定义以下三个数据库的名称，OMS 社区版部署时会在元信息库中创建出这三个数据库
drc_rm_db: ${drc_rm_db}
drc_cm_db: ${drc_cm_db}
drc_cm_heartbeat_db: ${drc_cm_heartbeat_db}

# OMS 社区版配置
# 单节点部署时，通常配置为当前 OMS 社区版机器 IP（建议使用内网 IP）
cm_url: ${cm_url}
cm_location: ${cm_location}
# 单节点部署时，无需设置 cm_region
# cm_region: ${cm_region}
# 单节点部署时，无需设置 cm_region_cn
# cm_region_cn: ${cm_region_cn}
cm_is_default: true
cm_nodes:
 - ${cm_nodes}

# 时序数据库配置
# 默认值为 false。如果您需要开启指标汇报功能，请设置为 true
# tsdb_enabled: false
# 当 tsdb_enabled 为 true 时，请取消下述参数的注释并根据实际情况填写
# tsdb_service: 'INFLUXDB'
# tsdb_url: '${tsdb_url}'
# tsdb_username: ${tsdb_user}
# tsdb_password: ${tsdb_password}

# 用户自定义组件端口号
# 指定 GHANA 服务的端口号
ghana_server_port: xxxxx
# 指定 Nginx 服务的端口号
nginx_server_port: xxxxx
# 指定 CM 服务的端口号
cm_server_port: xxxxx
# 指定 Supervisor 服务的端口号
supervisor_server_port: xxxxx
# 指定 sshd 服务的端口号
sshd_server_port: xxxxx

```

配置参数说明

| 参数 | 描述 | 是否必选 |
| --- | --- | --- |
| oms_meta_host | 元信息库的 IP 地址，可以是 MySQL 或 OceanBase 社区版。 | 必选 |
| oms_meta_port | 元信息库的端口号。 | 必选 |
| oms_meta_user | 元信息库的用户名称。 | 必选 |
| oms_meta_password | 元信息库的用户密码。   #### 注意    元信息库的用户密码不能为空，并且不支持特殊字符（包括换行、空格，以及 \|"'`()=;/&[]{}）。 | 必选 |
| drc_rm_db | 管理控制台的数据库名称。 | 必选 |
| drc_cm_db | 集群管理服务的元数据库名称。 | 必选 |
| drc_cm_heartbeat_db | 集群管理服务的心跳库的名称。 | 必选 |
| cm_url | OMS 社区版集群管理服务的地址。例如，`http://xxx.xxx.xxx.1:8088`。    **说明：**    单节点部署时，通常配置为当前 OMS 社区版机器 IP。不建议您使用 `http://127.0.0.1:8088`。    OMS 社区版控制台的访问地址为：`部署 OMS 的宿主机的 IP 地址:8089`。例如，`http（https）://xxx.xxx.xxx.1:8089`。    8088 是负责调度的程序端口，8089 是网页地址的端口。 | 必选 |
| cm_location | 地域码，取值范围为 [0,127]。每个地域一个数字，用户自行选择。 | 必选 |
| cm_region | 地域，例如 cn-jiangsu。    **注意：**    如果是和阿里云 MSHA 产品在容灾双活场景下使用，请使用阿里云的 Region 信息作为 `cm_region`。 | 可选 |
| cm_region_cn | 地域的中文标识。例如，江苏。 | 可选 |
| cm_nodes | OMS 社区版集群管理服务的机器 IP 列表。 | 必选 |
| cm_is_default | 标识是否默认 OMS 社区版集群管理服务。 | 可选，默认值为 `true` |
| tsdb_enabled | 表示是否开启指标汇报的功能（监控能力），包括 `true` 或 `false`。 | 可选，默认值为 `false` |
| tsdb_service | 表示时序数据库的类型，包括 `INFLUXDB` 和 `CERESDB`。 | 可选，默认值为 `INFLUXDB` |
| tsdb_url | 部署 InfluxDB 的机器地址。当 `tsdb_enabled` 为 `true` 时，请根据实际环境修改该参数。 | 可选 |
| tsdb_username | 时序数据库的用户名。当 `tsdb_enabled` 为 `true` 时，请根据实际环境修改该参数。 部署时序数据库后，需要您手动创建时序数据库用户，并填写用户名和密码。 | 可选 |
| tsdb_password | 时序数据库的密码。当 `tsdb_enabled` 为 `true` 时，请根据实际环境修改该参数。 | 可选 |
| ghana_server_port | 指定 GHANA 服务的端口号。如果未配置，则使用默认端口号 8090。 | 可选 |
| nginx_server_port | 指定 Nginx 服务的端口号。如果未配置，则使用默认端口号 8089。 | 可选 |
| cm_server_port | 指定 CM 服务的端口号。如果未配置，则使用默认端口号 8088。 | 可选 |
| supervisor_server_port | 指定 Supervisor 服务的端口号。如果未配置，则使用默认端口号 9000。 | 可选 |
| sshd_server_port | 指定 sshd 服务的端口号。如果未配置，则使用默认端口号 2023。 | 可选 |

### 配置文件示例

请根据您部署的目标环境替换参数的实际值。

```yaml
oms_meta_host: xxx.xxx.xxx.1
oms_meta_port: 2883
oms_meta_user: oms_meta_user
oms_meta_password: ********
drc_rm_db: oms_rm
drc_cm_db: oms_cm
drc_cm_heartbeat_db: oms_cm_heartbeat
cm_url: http://xxx.xxx.xxx.2:8088
cm_location: 100
cm_region: cn-anhui
cm_region_cn: 安徽
cm_is_default: true
cm_nodes:
  - xxx.xxx.xxx.2
tsdb_service: 'INFLUXDB'
tsdb_enabled: true
tsdb_url: 'xxx.xxx.xxx.4:8086'
tsdb_username: username
tsdb_password: *******
ghana_server_port: xxxxx
nginx_server_port: xxxxx
cm_server_port: xxxxx
supervisor_server_port: xxxxx
sshd_server_port: xxxxx

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
