本文介绍开源工具OMS部署方法和步骤。
1,系统和软件版本
操作系统已经完成部署docker软件。
[root@i-AAB0CE27 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@i-AAB0CE27 ~]# docker --version
Docker version 18.03.1-ce, build 9ee9f40
#OMS的ip地址信息192.168.6.71
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether d0:0d:aa:b0:ce:27 brd ff:ff:ff:ff:ff:ff
inet 192.168.6.71/24 brd 192.168.6.255 scope global dynamic eth0
valid_lft 315336008sec preferred_lft 315336008sec
inet6 fe80::d20d:aaff:feb0:ce27/64 scope link
valid_lft forever preferred_lft forever
2,导入oms-3.2.2-ce.tar.gz镜像
docker load -i oms-3.2.2-ce.tar.gz
3,配置文件配置config.yaml
ob数据库地址:192.168.6.61 用户名称和密码:root/root
oms服务器地址:192.168.6.71
#配置文件注释信息:
oms_meta_host OMS 社区版元信息库的 IP 地址。 必选 oms_meta_port OMS 社区版元信息库的访问端口。 必选 oms_meta_user OMS 社区版访问元信息库的账号。 必选 oms_meta_password OMS 社区版访问元信息库的密码。 必选
drc_rm_db 管理控制台的数据库名称。 必选 drc_cm_db 集群管理服务的元数据库名称。 必选 drc_cm_heartbeat_db 集群管理服务的心跳库的名称。 必选
drc_user 用于读取 OceanBase 社区版增量日志的账号名称,需要在 sys 租户下创建该用户。 必选 drc_password drc_user账号对应的密码。必选
cm_url OMS 社区版集群管理服务的地址。例如,http://VIP:8088。 说明 通常配置为当前 OMS 社区版机器 IP,不建议您使用 http://127.0.0.1:8088。 必选 cm_location 地域码,取值范围为 [0,127]。每个地域一个数字,用户自行选择。 必选 cm_region OMS 社区版服务器所在地域,例如 cn-jiangsu。 可选 cm_region_cn 地域的中文标识。例如,江苏。 可选 cm_nodes OMS 社区版集群管理服务的机器 IP 列表。 必选
#config.yaml配置文件参考:
[root@i-AAB0CE27 conf]# cat config.yaml # OMS 社区版部署必填配置 # OMS 社区版元数据库信息,即创建的租户所在 OceanBase 集群对应的信息 # 您需要提前准备一个 OceanBase 数据库,用于存放 OMS 社区版的元信息 oms_meta_host: 192.168.6.61 oms_meta_port: 2881 oms_meta_user: root oms_meta_password: root # 用户可以自定义以下三个数据库的名称,OMS 社区版部署时会在元信息库中创建出这三个数据库 drc_rm_db: omsrm drc_cm_db: omscm drc_cm_heartbeat_db: omsdb # OceanBase 社区版增量用户 # 当需要从 OceanBase 社区版消费增量日志时,请在 sys 租户下创建用户 # drc user 需要在待迁移的 OceanBase 集群 sys 租户下创建,然后在 OMS 社区版 yaml 文件中指定 drc_user: oms drc_password: oms # OMS 社区版集群配置 # 通常配置为当前 OMS 社区版机器 IP cm_url: http://192.168.6.71:8088 cm_location: 100 cm_region: bj cm_region_cn: bjcn cm_is_default: true# cm_nodes 为列表形式,-前需要有两个空格 cm_nodes: - 192.168.6.71
4.启动docker
OMS_HOST_IP=192.168.6.71
CONTAINER_NAME=oms_01
docker run -dit --net host \
-v /data/oms/oms_logs:/home/admin/logs \
-v /data/oms/oms_store:/home/ds/store \
-v /data/oms/oms_run:/home/ds/run \
-e OMS_HOST_IP=${OMS_HOST_IP} \
--privileged=true \
--pids-limit -1 \
--ulimit nproc=65535:65535 \
--name ${CONTAINER_NAME} \
reg.docker.alibaba-inc.com/oceanbase/oms:feature_3.2.2-ce5.进入容器
[root@i-AAB0CE27 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c8004c28e7b reg.docker.alibaba-inc.com/oceanbase/oms:feature_3.2.2-ce "/bin/sh -c '/usr/bi…" About an hour ago Up About an hour oms_01
[root@i-AAB0CE27 ~]# docker exec -it 5c8004c28e7b bash
6.初始化集群(在容器内部进行初始化操作)
#配置文件位置:修改手动修改相关内容。
/home/admin/conf/config.yaml
#初始化集群
bash /root/docker_init.sh
#初始化过程日志:
[root@i-AAB0CE27 ~]# bash /root/docker_init.sh
------------------------------------------------------------------------------------------------------------------------------------------------
# 【步骤一】校验 config.yaml 配置文件
------------------------------------------------------------------------------------------------------------------------------------------------
python -m omsflow.scripts.units.oms_cluster_config --check /home/admin/conf/config.yaml
/root/omsflow
2022-02-22 13:47:17,555-Oms-DEBUG oms_cluster_config.main.778 :load config file /home/admin/conf/config.yaml
`master_cm_endpoint` is http://192.168.6.71:8080
`master_oms_endpoint` is http://192.168.6.71:8080
`drc_user` is oms
`drc_password` is oms
`role` is master
success: config file is verification ok ...
query {'charset': 'utf8'} {'username': 'root', 'database': 'omsrm', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:17,583-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsrm?charset=utf8)
master_drc_rm_meta_uri is accessible
please check your master idc drc_user master is accessible
cm_location is 100
------------------------------------------------------------------------------------------------------------------------------------------------
# 【步骤二】创建 OMS 元信息库
------------------------------------------------------------------------------------------------------------------------------------------------
python -m omsflow.scripts.units.oms_init_manager --init-db
/root/omsflow
/usr/lib/python2.7/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py:18: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
import cryptography
use config /home/admin/conf/config.yaml
no drop task
no init task
query {'charset': 'utf8'} {'username': 'root', 'database': 'omscm', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:18,147-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omscm?charset=utf8)
/usr/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/base.py:1320: SAWarning: Current MySQL version does not support CAST; the CAST will be skipped.
"Current MySQL version does not support "
query {'charset': 'utf8'} {'username': 'root', 'database': 'omsrm', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:18,251-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsrm?charset=utf8)
query {'charset': 'utf8'} {'username': 'root', 'database': 'omsdb', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:18,349-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsdb?charset=utf8)
query {'charset': 'utf8'} {'username': 'root', 'database': 'omsrm', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:18,445-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsrm?charset=utf8)
2022-02-22 13:47:18,460-Oms-DEBUG oms_init_manager._import_sql_file_by_engine.68 :Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsrm?charset=utf8)
import /root/omsflow/meta_init/drc_rm_schema.sql
mysql -h'192.168.6.61' -P2881 -u 'root' --password='root' -f -D 'omsrm' < /root/omsflow/meta_init/drc_rm_schema.sql
2022-02-22 13:47:19,777-Oms-DEBUG oms_init_manager._import_sql_file_by_engine.68 :Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsrm?charset=utf8)
import /root/omsflow/meta_init/drc_rm_data.sql
mysql -h'192.168.6.61' -P2881 -u 'root' --password='root' -f -D 'omsrm' < /root/omsflow/meta_init/drc_rm_data.sql
2022-02-22 13:47:19,864-Oms-DEBUG oms_init_manager.init_rm.125 :REPLACE INTO `user`
(`id`, `name`, `password`, `type`, `linkman`, `linkman_cn`, `reason`, `product`, `gmt_modify`)
VALUES(1, 'RM_oms', 'RM_oms', 3, 'oms', 'oms', 'oms', 'oms', now());
query {'charset': 'utf8'} {'username': 'root', 'database': 'omscm', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:19,964-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omscm?charset=utf8)
drc_cm_schema
2022-02-22 13:47:19,981-Oms-DEBUG oms_init_manager._import_sql_file_by_engine.68 :Engine(mysql+pymysql://root:***@192.168.6.61:2881/omscm?charset=utf8)
import /root/omsflow/meta_init/drc_cm_schema.sql
mysql -h'192.168.6.61' -P2881 -u 'root' --password='root' -f -D 'omscm' < /root/omsflow/meta_init/drc_cm_schema.sql
drc_cm_data
2022-02-22 13:47:21,133-Oms-DEBUG oms_init_manager._import_sql_file_by_engine.68 :Engine(mysql+pymysql://root:***@192.168.6.61:2881/omscm?charset=utf8)
import /root/omsflow/meta_init/drc_cm_data.sql
mysql -h'192.168.6.61' -P2881 -u 'root' --password='root' -f -D 'omscm' < /root/omsflow/meta_init/drc_cm_data.sql
2022-02-22 13:47:21,763-Oms-DEBUG oms_init_manager.init_cm.145 :
INSERT INTO `resource_group`
(`name`, `store_limit`, `congo_limit`, `jdbc_writer_limit`, `metaq_writer_limit`, `full_check_limit`, `cpu_limit`, `cpu_unit`,`gmt_modified`, `gmt_create`, `description`, `level`, `creator`)
VALUES('100', 50, 50, 50, 0, 50, 50, 1, now(), now(), 'bjcn', 'GENERAL', 'oms') ON DUPLICATE KEY UPDATE `name` = '100';
query {'charset': 'utf8'} {'username': 'root', 'database': 'omsdb', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:21,865-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsdb?charset=utf8)
2022-02-22 13:47:21,881-Oms-DEBUG oms_init_manager._import_sql_file_by_engine.68 :Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsdb?charset=utf8)
import /root/omsflow/meta_init/drc_cm_hb_schema.sql
mysql -h'192.168.6.61' -P2881 -u 'root' --password='root' -f -D 'omsdb' < /root/omsflow/meta_init/drc_cm_hb_schema.sql
2022-02-22 13:47:21,965-Oms-DEBUG oms_init_manager._import_sql_file_by_engine.68 :Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsdb?charset=utf8)
import /root/omsflow/meta_init/drc_cm_hb_data.sql
mysql -h'192.168.6.61' -P2881 -u 'root' --password='root' -f -D 'omsdb' < /root/omsflow/meta_init/drc_cm_hb_data.sql
------------------------------------------------------------------------------------------------------------------------------------------------
# 【步骤三】创建 OMS 各组件的配置文件
------------------------------------------------------------------------------------------------------------------------------------------------
python -m omsflow.scripts.units.oms_init_manager --init-config-file
/root/omsflow
/usr/lib/python2.7/site-packages/sqlalchemy_utils/types/encrypted/encrypted_type.py:18: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
import cryptography
use config /home/admin/conf/config.yaml
no drop task
no init tas
query {'charset': 'utf8'} {'username': 'root', 'database': 'omscm', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:22,589-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omscm?charset=utf8)
/usr/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/base.py:1320: SAWarning: Current MySQL version does not support CAST; the CAST will be skipped.
"Current MySQL version does not support "
query {'charset': 'utf8'} {'username': 'root', 'database': 'omsrm', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:22,692-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsrm?charset=utf8)
query {'charset': 'utf8'} {'username': 'root', 'database': 'omsdb', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:22,789-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsdb?charset=utf8)
2022-02-22 13:47:22,829-Oms-DEBUG oms_init_manager.render_meta.184 :ocp meta None
query {'charset': 'utf8'} {'username': 'root', 'database': 'omsrm', 'host': '192.168.6.61', 'password_original': 'root', 'drivername': 'mysql+pymysql', 'query': {'charset': 'utf8'}, 'port': 2881}
2022-02-22 13:47:22,936-Oms-DEBUG units.create_engine_wrapper.66 :create a new sqlalchemy engine wrapped Engine(mysql+pymysql://root:***@192.168.6.61:2881/omsrm?charset=utf8)
{
"drc_user": "oms",
"kafka_need_schema": "false",
"oms_meta_password": "root",
"tsdb_enabled": "false",
"ocp_version": null,
"tsdb_username": null,
"alarm_channel_param": null,
"oms_host_ip": "192.168.6.71",
"oms_host": "192.168.6.71:8080",
"drc_cm_heartbeat_db": "omsdb",
"obproxy_host": null,
"cm_location": 100,
"drc_cm_db": "omscm",
"tsdb_password": null,
"oms_meta_port": 2881,
"dbp_enable": "false",
"tsdb_service": null,
"sybase_charset": "UTF-8",
"obproxy_port": null,
"ocp_api_username": "admin",
"oms_meta_host": "192.168.6.61",
"oms_meta_user": "root",
"use_log_proxy": null,
"json_serializer": "DefaultJsonSerializer",
"tsdb_url": null,
"kafka_partition_mode": null,
"dbp_ak": null,
"dbp_route": null,
"drc_rm_db": "omsrm",
"log_proxy_address": null,
"cm_url": "http://192.168.6.71:8080",
"ocp_api_password": "root",
"dbp_middleware_instance_id": null,
"dbp_op_url": null,
"drc_password": "oms",
"alarm_channel": null,
"ocp_api_domain": null,
"oms_meta_mode": "oceanbase",
"dbp_sk": null,
"connector_transaction_index_enabled": "false"
}
use root dir:/root/omsflow/scripts
use root dir:/root/omsflow/scripts
2022-02-22 13:47:23,241-Oms-DEBUG oms_init_manager.init_config_file.259 :parse template: /root/omsflow/scripts/conf/cm/drc-cm_template.properties->conf/cm/drc-cm.properties
use root dir:/root/omsflow/scripts
------------------------------------------------------------------------------------------------------------------------------------------------
# 【步骤四】重启 OMS 所有组件 (大约需要两分钟,请耐心等待)
------------------------------------------------------------------------------------------------------------------------------------------------
supervisorctl restart nginx oms_console oms_drc_cm oms_drc_supervisor sshd
nginx: stopped
oms_console: stopped
oms_drc_cm: stopped
oms_drc_supervisor: stopped
sshd: stopped
nginx: started
oms_console: started
oms_drc_cm: started
oms_drc_supervisor: started
sshd: started
supervisorctl status nginx oms_console oms_drc_cm oms_drc_supervisor sshd
nginx RUNNING pid 24290, uptime 0:00:53
oms_console RUNNING pid 24292, uptime 0:00:43
oms_drc_cm RUNNING pid 24339, uptime 0:00:32
oms_drc_supervisor RUNNING pid 24587, uptime 0:00:22
sshd RUNNING pid 24760, uptime 0:00:11
supervisorctl status nginx oms_console oms_drc_cm oms_drc_supervisor sshd
nginx RUNNING pid 24290, uptime 0:01:53
oms_console RUNNING pid 24292, uptime 0:01:43
oms_drc_cm RUNNING pid 24339, uptime 0:01:32
oms_drc_supervisor RUNNING pid 24587, uptime 0:01:22
sshd RUNNING pid 24760, uptime 0:01:11
------------------------------------------------------------------------------------------------------------------------------------------------
# 【步骤五】初始化 OMS 资源标签和资源组
------------------------------------------------------------------------------------------------------------------------------------------------
python -m omsflow.scripts.units.oms_cluster_manager add_resource
/root/omsflow
Will add cm_nodes 192.168.6.71
Add host by ip
2022-02-22 13:55:19,478-urllib3.connectionpool-DEBUG connectionpool._new_conn.231 :Starting new HTTP connection (1): 192.168.6.71:8088
2022-02-22 13:55:19,517-urllib3.connectionpool-DEBUG connectionpool._make_request.461 :http://192.168.6.71:8088 "POST /locationCm/add HTTP/1.1" 200 182
{"errCode":null,"errMsg":null,"isSuccess":true,"result":{"cmUrl":"http://192.168.6.71:8088","gmtCreated":null,"gmtModified":null,"id":1,"location":"100","status":0},"retryable":null}
2022-02-22 13:55:19,520-urllib3.connectionpool-DEBUG connectionpool._new_conn.231 :Starting new HTTP connection (1): 192.168.6.71:8088
2022-02-22 13:55:19,550-urllib3.connectionpool-DEBUG connectionpool._make_request.461 :http://192.168.6.71:8088 "POST /consumer/create HTTP/1.1" 200 35
{"consumer":"drc","isSuccess":true}
------------------------------------------------------------------------------------------------------------------------------------------------
# 【结束】全部初始化步骤执行成功
------------------------------------------------------------------------------------------------------------------------------------------------
[root@i-AAB0CE27 conf]# exit
7.访问控制台
访问地址:192.168.6.71:8089
用户和密码:admin/admin

#平台界面

参考手册:
https://open.oceanbase.com/docs/oms-cn/V3.2.2/10000000000017378
最后修改时间:2022-03-01 18:14:56
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




