首批通过分布式安全可靠测评,为关键业务系统打造
单节点部署
更新时间:2026-04-14 15:40:46
本文为您介绍如何在单节点中使用 OMS 社区版部署工具安装 OceanBase 迁移服务(OceanBase Migrat ion Service,OMS) 社区版。
前提条件
确认安装环境符合系统和网络要求,详情请参见 系统和网络要求。
已准备 MetaDB 集群作为 OMS 社区版的元信息库。
已获取 OMS 社区版安装包,通常安装包为以 oms 开头的
tar.gz文件。下载地址:OceanBase 社区版下载中心。已加载下载的 OMS 社区版安装包至 Docker 容器的本地镜像仓库。
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>。示例如下:$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 社区版部署机。
(可选)部署时序数据库。
如果您需要 OMS 社区版能够收集和展示监控数据,请部署时序数据库。如果无需展示监控数据,请跳过本步骤。操作详情请参见 部署时序数据库。
执行下述命令,从加载的镜像中获取部署脚本。
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示例如下:
sudo docker run -d --net host --name oms-config-tool work.oceanbase-dev.com/obartifact-store/oms:feature_4.0.0-ce bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-tool通过部署脚本启动部署工具。
bash docker_remote_deploy.sh -o <OMS 容器挂载目录> -i <本机 IP 地址> -d <OMS_IMAGE>根据工具提示完成部署,每次输入后,通过回车进入下一步。
请选择部署模式。
此处请选择 单地域单节点 选项。
请选择您所需要进行的任务。
此处请选择 无配置文件,全新部署 OMS,从生成配置文件开始。
请输入下述 MetaDB 配置信息:
请输入元信息数据库 IP。
请输入元信息数据库端口。
请输入元信息数据库的用户名。
请输入元信息数据库的密码。
请为 OMS 社区版元数据库设置前缀。
例如,当前缀设置为 oms 时,最终库名分别为 oms_rm、oms_cm 和 oms_cm_hb。
请确认配置信息。
此处输入 y,表示确认上述配置信息无误。输入 n,请重新输入配置信息。
如果出现 元数据库中对应数据库名已存在!这样可以吗? 提示,说明 MetaDB 中已存在您输入的数据库名称。该情况可能是由于重复部署或执行 OMS 社区版升级导致,请您自行确认后,输入 y 继续部署,或输入 n 重新输入配置信息。
请输入下述 CM 配置信息:
请确认获取到的默认 IP 地址是否正确。
此处显示的 IP 地址对应启动部署脚本时,输入的 本机 IP 地址。如果确认无误,请输入 y。如果需要修改,请输入 n。
界面会展示 OMS 社区版的集群配置信息,请主要关注
cm_url中的 IP 地址是否为本机 IP 地址。如果确认无误,请输入 y。如果需要修改,请输入 n。
请确认是否需要对 OMS 社区版历史数据进行监控。
如果在 (可选)部署时序数据库 步骤选择部署时序数据库,请在该步输入 y,并跳转至 配置时序数据库 步骤,开启对 OMS 社区版历史数据的监控。
如果在 (可选)部署时序数据库 步骤未选择部署时序数据库,请在该步输入 n,则跳转至 是否开启审计日志功能,并配置相关 SLS 参数 步骤。此时,部署后的 OMS 社区版不具备监控历史数据的功能。
配置时序数据库。
请输入下述时序数据库的配置信息:
是否有已部署好的时序数据库服务?
请根据实际情况填写。如果有,请输入 y。如果没有,则输入 n。
请选择时序数据库的类型:选择 “INFLUXDB”。
注意:
目前仅支持时序数据库 INFLUXDB。
请输入时序数据库 URL。
输入时序数据库 URL 时,您可以依次输入 URL 中 IP 地址和端口号,也可以使用英文冒号(:)相连,一次性输入
<IP 地址>:<端口号>。请输入时序数据库的用户名。
请输入时序数据库的密码。
请确认展示的所有配置项信息。
如果确认无误,请输入 y。如果需要修改,请输入 n。
是否开启审计日志功能,并配置相关 SLS 参数。
如果输入 y,表示开启审计日志功能。此时,跳转至 输入 SLS 参数信息 步骤。
如果输入 n,则正式开始部署。此时,部署后的 OMS 社区版不具备审计日志功能。
输入 SLS 参数信息。
请输入 SLS 域名。
请输入访问 SLS 的 access-key。
请输入访问 SLS 的 secret-key。
请输入 SLS 的 user-site-topic。
请输入 SLS 的 ops-site-topic。
请确认展示的所有配置项信息。
如果确认无误,请输入 y。如果需要修改,请输入 n。
输入本机的用户名和密码,以及挂载根目录等部署一个节点时需要的额外信息。
请输入节点:<本机 IP 地址> 的用户名,即本机用户名。
请输入节点:<本机 IP 地址> 的密码,即本机密码。
请输入配置文件 config.yaml 将写入的路径,以符号'/'结尾。
请输入 OMS 社区版容器在宿主机上的挂载根目录。
请输入一个有较大容量的目录作为 OMS 社区版容器的挂载目录。
请确认部署 OMS 社区版的镜像名为 <OMS_IMAGE> 是否可以。
如果确认无误,请输入 y。如果需要修改,请输入 n。
请确认是否需要在 OMS 社区版容器中挂载 HTTPS 证书。
如果需要,请输入 y,并根据提示输入 https_key、https_crt 目录。如果不需要,请输入 n。
开始进行正式的部署。
部署流程(有配置文件)
登录 OMS 社区版部署机。
(可选)部署时序数据库。
如果您需要 OMS 社区版能够收集和展示监控数据,请部署时序数据库。如果无需展示监控数据,请跳过本步骤。操作详情请参见 部署时序数据库。
执行下述命令,从加载的镜像中获取部署脚本。
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通过部署脚本启动部署工具。
bash docker_remote_deploy.sh -o <OMS 容器挂载目录> -c <已有 config.yaml 配置文件地址> -i <本机 IP 地址> -d <OMS_IMAGE>说明:
config.yaml配置文件的设置请参见下文《配置文件的模板和示例》模块。根据工具提示完成部署,每次输入后,通过回车进入下一步。
请选择部署模式。
此处请选择 单地域单节点 选项。
请选择您所需要进行的任务。
此处请选择 已通过脚本 [-c] 选项传入参考配置文件,基于参考配置文件开始配置。
如果出现 元数据库中对应数据库名已存在!这样可以吗? 提示,说明原配置文件的 MetaDB 中已存在您输入的数据库名称。该情况可能是由于重复部署或执行 OMS 社区版升级导致,请您自行确认后,输入 y 继续部署,或输入 n 重新输入配置信息。
如果配置文件检查通过,会为您展示所有的配置信息。如果确认无误,请输入 y。如果需要修改,请输入 n。
如果配置文件未检查通过,请根据提示修改配置信息。
输入本机的用户名和密码,以及挂载根目录等部署一个节点时需要的额外信息。
请输入节点:<本机 IP 地址> 的用户名,即本机用户名。
请输入节点:<本机 IP 地址> 的密码,即本机密码。
请输入配置文件 config.yaml 将写入的路径,以符号'/'结尾。
请输入 OMS 社区版容器在宿主机上的挂载根目录。
请输入一个有较大容量的目录作为 OMS 社区版容器的挂载目录。
请确认部署 OMS 社区版的镜像名为 <OMS_IMAGE> 是否可以。
如果确认无误,请输入 y。如果需要修改,请输入 n。
请确认是否需要在 OMS 社区版容器中挂载 HTTPS 证书。
如果需要,请输入 y,并根据提示输入 https_key、https_crt 目录。如果不需要,请输入 n。
开始进行正式的部署。
部署完成后,如果您需要修改配置,请登录至运行的 OMS 社区版容器中进行以下操作:
根据业务需求,修改
config.yaml文件。执行命令
python -m omsflow.scripts.units.oms_init_manager --init-config-file。执行命令
supervisorctl restart oms_console oms_drc_supervisor。
配置文件的模板和示例
配置文件模板
注意:
模板中的必填参数需要替换为您部署的目标环境的实际值。本文已将可选参数进行注释,您可以根据实际情况选择性修改。
config.yaml文件中的 Key: Value,冒号后面必须加一个空格。
# 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}
# 用于消费 OceanBase 增量的用户
# 当需要从 OceanBase 数据库消费增量日志时,请在 sys 租户下创建用户
# drc user 需要在待迁移的 OceanBase 集群 sys 租户下创建,然后在 OMS 社区版的 config.yaml 文件中指定
drc_user: ${drc_user}
drc_password: '${drc_password}'
# 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}
| 参数 | 描述 | 是否必选 |
|---|---|---|
| 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 | 集群管理服务的心跳库的名称。 | 必选 |
| drc_user | 用于读取 OceanBase 数据库增量日志的账号名称,需要在 sys 租户下创建该用户。详情请参见 创建数据库用户。 | 可选 |
| drc_password | drc_user 账号对应的密码。 |
可选 |
| 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 是网页地址的端口,此处必须使用 8088 端口。 |
必选 |
| 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。 |
可选,默认值为 CERESDB |
| tsdb_url | 部署 InfluxDB 的机器地址。当 tsdb_enabled 为 true 时,请根据实际环境修改该参数。 |
可选 |
| tsdb_username | 时序数据库的用户名。当 tsdb_enabled 为 true 时,请根据实际环境修改该参数。 部署时序数据库后,需要您手动创建时序数据库用户,并填写用户名和密码。 |
可选 |
| tsdb_password | 时序数据库的密码。当 tsdb_enabled 为 true 时,请根据实际环境修改该参数。 |
可选 |
配置文件示例
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
drc_user: drc_user_name
drc_password: ********
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: *******