目录
1、前言
1.1、平台架构
1.2、平台原理
2、环境准备
2.1、硬件环境
2.2、软件环境
2.3、安装DMHS
2.3.1、源端DMHS前期准备
2.3.2、源端DMHS安装
2.3.3、目的端DMHS安装
3、DMHS-Manager客户端部署
3.1、启动dmhs web服务
3.2、登录web管理平台
4、添加DMHS实例
4.1、添加目的端hs实例
4.2、添加源端hs实例
5、启动DMHS同步
5.1、目的端启动DMHS服务
5.2、源端启动DMHS服务
5.3、初始数据装载
5.4、开启增量同步
5.5、增量同步测试
1、前言
1.1、平台架构
DMHS管理平台以B/S架构实现,只要网络可达,通过浏览器即可进行远程访问控制,后端服务以DM数据库作为元数据存储,使用Tomcat来运行Web服务,DMHS运维和监控分别是通过Agent和Stat组件来实现。Agent主要负责DMHS服务的部署、启停、删除/添加模块、版本升级、修改配置、Web控制台等一系列服务端操作;Stat要负责DMHS实例的监控数据和硬件资源信息的采集。
1.2、平台原理
用户登陆管理平台后,在Web界面上对DMHS服务所做的一系列操作,这些操作会存储到后台元数据表中,Agent进程会不断轮询后台这张元数据表,发现有新的任务需要做,Agent就会去执行相应的任务,执行完成后会更新这张元数据表,并记录当前任务的执行状态,Web通过访问后台元数据表相关列就可以知道当前任务的执行情况,通过这种方式实现Web和Agent的远程交互。也就是说Agent进程是属于被动进程,没有任何操作情况下,Agent会处于等待状态。
Stat进程不一样,Stat是收集主机硬件资源信息和DMHS服务监控信息的代理程序,Stat进程的各个采集线程根据需要开启,设置合适的采集频率。Web上展示的所有监控功能的数据都是由Stat采集存到后台达梦数据库中,并由管理平台对后台数据库中的监控数据分析处理之后得到。
2、环境准备
2.1、硬件环境
- 内存需求。DMHS管理平台可以管理所有需要监控的DMHS服务,并能实时监控DMHS同步链路,为了获得更好的使用体验,建议运行Tomcat服务和后台DM数据库机器的内存不要太低。
- 磁盘需求。如果是通过DMHS安装文件自动安装部署的话,整个安装目录大约占用2G左右,里面包括了DM数据库、JDK、Tomcat、DMHS相关执行码及脚本、手册、HSEM的managerwar包等,另外需要一些额外的空间存储内置DM数据库的数据文件。
2.2、软件环境
本文以dm8-dm8单项同步为例,进行源端与目的端数据同步,相关配置如下:
配置项 | 源端 | 目的 |
IP | 192.168.40.130 | 192.168.40.136 |
DMHS安装目录 | /home/dmdba/dmhs | /home/dmdba/dmhs |
DM8数据库安装目录 | /home/dmdba/dm8_20230418 | /home/dmdba/dm8_20230418 |
2.3、安装DMHS
需要源端与目的端安装DMHS软件,DMHS软件版本应与数据库大版本、操作系统版本等对应。此外,若要使用DMHS管理工具,则只需要在一台机器上进行DMHS软件完整版(web客户端)安装。本文以dm8-dm8单项同步为例,源端安装的DMHS版本为完整版(web客户端),目的端安装的DMHS版本为精简版。
2.3.1、源端DMHS前期准备
--开启归档
alter database mount;
alter database add archivelog 'dest=/dm8/arch,TYPE=local,FILE_SIZE=128,SPACE_LIMIT=5120';
alter database archivelog;
alter database open;
--开启附加日志参数,静态参数重启才能生效
call sp_set_para_value(2,'RLOG_APPEND_LOGIC',1);
SQL> set linesize 1000
SQL> set pagesize 1000
SQL> select * from v$dm_ini where para_name='RLOG_APPEND_LOGIC';
--源端数据库创建 DDL 触发器和辅助表,执行以下sql脚本。
/dm/dmhs/scripts/ddl_sql_dm8.sql
--重启数据库
2.3.2、源端DMHS安装
[dmdba@localhost dmdba]# ./dmhs_V4.3.14_dm8_rev133809_rh6_64_20230704_sp8.bin -i
Extract install files..........1.英文(English)
2.简体中文(简体中文)
请选择安装语言[2.简体中文(简体中文)]:2
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:1
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:2
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.实时同步软件配置助手
6.手册
所需磁盘空间:1,050 MB
安装目录: [/opt/dmhs]/home/dmdba/dmhs
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:1
正在安装
default start ... default finished.
server start ... server finished.
hs_agent start ... hs_agent finished.
webmanager start ... webmanager finished.
db start ... db finished.
hsca start ... hsca finished.
doc start ... doc finished.
doc start ... doc finished.
postinstall start ... postinstall finished.
正在创建快捷方式
安装成功
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)[192.168.122.1](192.168.122.1,192.168.40.130):192.168.40.130
远程部署工具管理端口[5456](1000-65535):
内置数据库轮询间隔[3](1-60):
内置数据库IP[192.168.122.1]:192.168.40.130
内置数据库端口[15236]:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
服务脚本环境变量设置
依赖库路径
提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。
请配置依赖库路径:/home/dmdba/dm8_20230418/bin:/usr/local/lib
内置数据库服务
1.自动
2.手动
启动方式:[2.手动]
正在创建内置数据库服务
初始化内置数据库
远程控制服务
1.自动
2.手动
启动方式:[2.手动]
正在创建远程控制服务
web服务
1.自动
2.手动
启动方式:[2.手动]
正在创建web服务
达梦数据实时同步V4.0安装完成
更多安装信息,请查看安装日志文件:
/home/dmdba/dmhs/log/install.log
2.3.3、目的端DMHS安装
[dmdba@localhost dmdba]# ./dmhs_V4.3.14_dm8_rev133809_rh6_64_20230704_sp8.bin -i
Extract install files..........1.英文(English)
2.简体中文(简体中文)
请选择安装语言[2.简体中文(简体中文)]:2
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:1
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:1
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件配置助手
4.手册
所需磁盘空间:566 MB
安装目录: [/opt/dmhs]/home/dmdba/dmhs
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:1
正在安装
default start ... default finished.
server start ... server finished.
hs_agent start ... hs_agent finished.
hsca start ... hsca finished.
doc start ... doc finished.
postinstall start ... postinstall finished.
正在创建快捷方式
安装成功
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)[192.168.122.1](192.168.122.1,192.168.40.136):192.168.40.136
远程部署工具管理端口[5456](1000-65535):
内置数据库轮询间隔[3](1-60):
内置数据库IP[]:192.168.40.130
内置数据库端口[15236](1000-65535):
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
服务脚本环境变量设置
依赖库路径
提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项NEED_LIB_PATH的变量值中。
请配置依赖库路径:/home/dmdba/dm8_20230418/bin:/usr/local/lib
远程控制服务
1.自动
2.手动
启动方式:[2.手动]
正在创建远程控制服务
达梦数据实时同步V4.0安装完成
更多安装信息,请查看安装日志文件:
/home/dmdba/dmhs/log/install.log
3、DMHS-Manager客户端部署
3.1、启动dmhs web服务
在源端DMHS的安装目录下,按以下顺序启动dmhs web服务。
##启动dmhs web的数据库,在DMHS安装目录的db/bin下
DmServiceHSDB start
##启动tomcat,在DMHS安装目录的web/bin下
./DmhsWebService start
##启动hs_agent,在DMHS安装目录的hs_agent下
./DmhsAgentServiceHsAgent start
在目的端DMHS的目录下,启动hs_agent服务。
##启动hs_agent,在DMHS安装目录的hs_agent下
./DmhsAgentServiceHsAgent start
3.2、登录web管理平台
上述配置完成后,在浏览器输入网址http://192.168.40.130:8080/manager,此处因web服务是在源端上配置的,因此网址中的ip地址为源端的地址,具体可根据实际需求调整。页面显示如下,默认登录用户为admin,密码为888888。
4、添加DMHS实例
4.1、添加目的端hs实例
1、选择目的端,点击鼠标右键,选择【添加HS实例】。
2、配置目的端执行器。
3、点击exec,可进行相关配置的修改。
4.2、添加源端hs实例
1.选择源端,点击鼠标右键,选择【添加HS实例】。
2.配置源端捕获器。
3.点击cpt,可进行过滤规则等配置的修改。例如,下图中选择过滤源端数据库的SYSDBA模式下的所有表,并将其同步到目的端的SYSDBA模式下。修改并保存后,重启DMHS服务生效。
4.创建成功后,可以看到主机信息、源端和目的端的同步链路信息。
5、启动DMHS同步
5.1、目的端启动DMHS服务
1.选择HS-exec,点击鼠标右键,启动HS服务。
2.选择exec,点击鼠标右键,启动exec模块。
5.2、源端启动DMHS服务
选择HS-cpt,点击鼠标右键,启动HS服务。
5.3、初始数据装载
本例中,由于我们首先需要将源端数据库SYSDBA模式下的所有表(TEST1、TEST2、TEST3),同步至目的端,因此,在开启cpt同步之前,我们需要在控制台中,先进行初始数据装载。
1.打开源端控制台。
2.在控制台中,分别执行以下命令,进行初始数据装载。
clear exec lsn
COPY 0 "SCH.NAME='SYSDBA'" DROP|CREATE|INSERT|INDEX|DICT|THREAD|8
3.执行成功后,可在目的端看到,源端SYSDBA模式下的表均已加载到目的端。
5.4、开启增量同步
初始数据装载完成后,在源端启动cpt即可启动增量同步。
1.鼠标右键点击cpt,启动捕获器。
2.在同步监控链路查看同步链路配置完成。
5.5、增量同步测试
--源端数据库中TEST2表初始数据
select * from TEST2;
--在源端执行TEST2表数据插入,并提交
insert into TEST2 values(2,'增量');
commit;
--在目的端执行TEST2表查询,发现源端新插入的数据已自动同步至目的端
select * from TEST2;