前提条件
确认安装环境符合系统和网络要求,详情请参见 系统和网络要求。
已准备 MetaDB 集群作为 OMS 的元信息库。
已获取 OMS 安装包,通常安装包为以 oms 开头的
tar.gz文件。已加载下载的 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 reg.docker.alibaba-inc.com/oboms/oms-all-in-one feature_3.4.0 2a6a77257d35则
<OMS_IMAGE>可以是:reg.docker.alibaba-inc.com/oboms/oms-all-in-one:feature_3.4.0或2a6a77257d35。在后续指南中请替换相关命令中的 <OMS_IMAGE> 为上述值。已有
config.yaml配置文件地址:如果您需要根据现有的config.yaml配置文件进行部署,该地址为现有配置文件的地址。
部署流程(无配置文件)
如果您之前没有 OMS 的配置文件推荐通过无配置文件流程生成全新的配置文件进行部署,如果已有配置文件,推荐通过有配置文件流程进行部署。
登录 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 reg.docker.alibaba-inc.com/oboms/oms-all-in-one:feature_3.4.0 bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-tool通过部署脚本启动部署工具。
sh docker_remote_deploy.sh -o <OMS 容器挂载目录> -i <本机 IP 地址> -d <OMS_IMAGE>根据工具提示完成部署,每次输入后,通过回车进入下一步。
请选择部署模式:
此处请选择 单地域单节点 选项。
请选择您所需要进行的任务。
此处请选择 无配置文件,全新部署 OMS,从生成配置文件开始。
请输入下述 MetaDB 配置信息:
根据提示依次输入元信息数据库 URL、端口、用户名、密码配置。
请为 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、用户名、密码等信息。
请确认展示的所有配置项信息。
如果确认无误,请输入 y。如果需要修改,请输入 n。
是否需要开启 OMS 审计日志功能,并将审计日志写入 SLS 服务?
如果输入 y,表示开启审计日志功能。此时,跳转至 输入 SLS 参数信息 步骤。
如果输入 n,则正式开始部署。此时,部署后的 OMS 不具备审计日志功能。
输入 SLS 参数信息。
根据提示信息输入 SLS 的各项参数配置。
请确认展示的所有配置项信息。
如果确认无误,请输入 y。如果需要修改,请输入 n。
如果配置文件检查通过,会为您展示所有的配置信息。如果确认无误,请输入 n。如果需要修改,请输入 y。
如果配置文件未检查通过,请根据提示修改配置信息。
请输入节点 <节点 IP> 上预备部署 OMS 容器的挂载目录:
请输入一个有较大容量的目录作为 OMS 容器的挂载目录。
请确认部署 OMS 的镜像名为 <OMS_IMAGE> 是否可以。
如果确认无误,请输入 y。如果需要修改,请输入 n。
请确认是否需要在 OMS 容器中挂载 HTTPS 证书。
如果需要,请输入 y,并根据提示输入 https_key、https_crt 目录。如果不需要,请输入 n。
开始执行部署。
如果部署失败,您可以登录至运行的 OMS 容器中,查看
/home/admin/logs目录下以docker_init为前缀的.log文件,获取日志信息。如果 OMS 容器未成功启动,则无法获取日志。
部署流程(有配置文件)
如果已有 OMS 的配置文件可以通过部署工具对之前的配置文件进行校验,无需重复输入配置,根据之前的配置文件直接进行部署。
说明
config.yaml 配置文件的设置请参见下文《配置文件的模板和示例》模块。
登录 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通过部署脚本启动部署工具。
sh docker_remote_deploy.sh -o <OMS 容器挂载目录> -c <已有 config.yaml 配置文件地址> -i <本机 IP 地址> -d <OMS_IMAGE>根据工具提示完成部署,每次输入后,通过回车进入下一步。
请选择部署模式。
此处请选择 单地域单节点 选项。
请选择您所需要进行的任务。
此处请选择 已通过脚本 [-c] 选项传入参考配置文件,基于参考配置文件开始配置。
如果出现 元数据库中对应数据库名已存在!这样可以吗? 提示,说明原配置文件的 MetaDB 中已存在您输入的数据库名称。该情况可能是由于重复部署或执行 OMS 升级导致,请您自行确认后,输入 y 继续部署,或输入 n 重新输入配置信息。
如果配置文件检查通过,会为您展示所有的配置信息。如果确认无误,请输入 n。如果需要修改,请输入 y。
如果配置文件未检查通过,请根据提示修改配置信息。
请输入节点 <节点 IP> 上预备部署 OMS 容器的挂载目录:
请输入一个有较大容量的目录作为 OMS 容器的挂载目录。
请确认部署 OMS 的镜像名为 <OMS_IMAGE> 是否可以。
如果确认无误,请输入 y。如果需要修改,请输入 n。
请确认是否需要在 OMS 容器中挂载 HTTPS 证书。
如果需要,请输入 y,并根据提示输入 https_key、https_crt 目录。如果不需要,请输入 n。
开始执行部署。
如果部署失败,您可以登录至运行的 OMS 容器中,查看
/home/admin/logs目录下以docker_init为前缀的.log文件,获取日志信息。如果 OMS 容器未成功启动,则无法获取日志。
部署完成后,如果您需要修改配置,请登录至运行的 OMS 容器中进行以下操作:
根据业务需求,修改
config.yaml文件。执行命令
python -m omsflow.scripts.units.oms_init_manager --init-config-file。执行命令
supervisorctl restart oms_console oms_drc_supervisor。
配置文件的模板和示例
配置文件模板
本文的配置文件模板用于普通的密码登录方式。如果您使用单点登录 SSO 的方式登录 OMS,则需要接入 OIDC 协议,并在该 config.yaml 文件模板中新增参数。详情请参见 OMS 接入 OIDC 协议实现单点登录。
注意
模板中的必填参数需要替换为您部署的目标环境的实际值。本文已将可选参数进行注释,您可以根据实际情况选择性修改。
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}
# 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 数据库 MySQL 租户。 注意: OceanBase 数据库需要是 2.0 及以上版本。 | 必选 |
| 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.xxx:8088。说明: 单节点部署时,通常配置为当前 OMS 机器 IP。不建议您使用 http://127.0.0.1:8088。OMS 控制台的访问地址为: 部署 OMS 的宿主机的 IP 地址:8089。例如,http(https)://xxx.xxx.xxx.xxx: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.xxx
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.xxx:8088
cm_location: 100
cm_region: cn-anhui
cm_region_cn: 安徽
cm_is_default: true
cm_nodes:
- xxx.xxx.xxx.xxx
tsdb_service: 'INFLUXDB'
tsdb_enabled: true
tsdb_url: 'xxx.xxx.xxx.xxx:8086'
tsdb_username: username
tsdb_password: *************



