DMHS全称是Heterogeneous database Synchronization for DM,即达梦异构数据库同步软件。DMHS是基于数据库日志,支持同构、异构数据库的实时同步软件,可以实现双业务中心架构。
DMHS软件功能非常丰富,支持多种架构场景,主流数据实时同步软件的相关功能DMHS都已实现并且根据实际业务需求丰富了更多功能。主流的数据实时同步软件主要有:Oracle GoldenGate、DSG RealSync、Quest Shareplex等。
源端 | 目标端 | |
---|---|---|
操作系统 | Windows系列、Linux系列、AIX、Solaris、HP-UNIX、FreeBSD等 | Windows系列、Linux系列、AIX、Solaris、HP-UNIX、FreeBSD等 |
数据库 | 目前支持DM系列、KingBase、 MYSQL、PostgreSQL、DB2、 SQLServer、Oracle9i 及以上版本。 | 支持可通过 ODBC 接口连接的各种主流数据库,包括DM系列、KingBase、MYSQL、 PostgreSQL、DB2、SQLServer、 Oracle、GBASE和 HIVE 以及 KAFKA 消息中间件等 |
(是不是感觉和Oracle GoldenGate很像)
DMHS 同步服务主要分为三大模块,分别是日志分析(CPT)、数据入库(EXEC)和消息发送(NET),这三个模块统一由管理模块(MGR)进行调度执行。
1、使用单进程多线程架构
2、支持初始数据装载
3、源端主要模块:
MGR模块:调度管理模块。负责调度CPT、NET模块等其他功能。
CPT模块:日志捕获模块。通过解析源端数据库的交易日志,获取数据的增量变化,并将增量变化封装为DMHS消息。
NET模块:数据传输模块。源端为NET发送子模块将CPT捕获的数据发送给目标端NET接受子模块。
4、源端模块的主要线程:
MGR模块:调度管理、监听
CPT模块:日志读、日志分析、日志发送(由CPT模块调用NET发送子模块)、日志文件处理
NET模块:日志发送(由CPT模块调用NET发送子模块)
5、目标端(或者执行端)主要模块:
MGR模块:调度管理模块。负责调度EXEC、NET模块等其他功能。
EXEC模块:数据入库。主要的功能是对CPT捕获的增量数据提取并进行事务归类入库。
NET模块:数据传输模块。目标端为NET接收子模块接受源端传输过来的数据。
6、目标端(或执行端)主要线程:
MGR模块:调度管理、监听
EXEC模块:日志执行等
NET模块:日志接收
7、扩展功能模块:guard进程守护(dmhs agent)、stat监控统计、数据比对校验工具、WEB管理平台。
目前DMHS支持拓扑架构构包括:1对1、双向、级联、1对多、多对1、环型架构,还支持文件中转模式的转发架构、路由架构、文件摆渡模式、以及结合ETL的架构,而且基本上都有实际的生产应用。
转发架构的主要特点:
1、适用于源端与目的端之间存在物理网络隔离,无法通过网络直连
2、适用于一对多的基于文件中转的转发,减轻源端服务器压力(特别是目标端很多的情况)
3、可以进行网络转发,也可以生成文件实现FTP的同步模式
4、可以在转发器配置过滤和映射
路由架构的主要特点:
1、源端和目标端无法通过网络直连
2、路由器一般部署在单独服务器上
3、主要进行路由映射,实现跨网关同步,不会对消息包进行处理
转发架构与路由架构的区别:
转发架构可以将源端捕获传输的数据生成文件,并且可以配置映射和过滤规则,而路由架构不会对源端捕获传输的数据进行处理,仅仅只是转发传输的数据。
文件摆渡架构的主要特点:
1、源端和目标端无法通过网络直连
2、捕获器将增量数据保存为本地服务器文件
3、使用摆渡工具,将文件传输至目标服务器,文件一致性由工具保证
4、执行器解析本地文件后应用到目标数据库
5、在网络连通的情况时,可以配置为FTP架构
内存要求: DMHS 需要的内存总量取决于执行的分析线程以及执行线程的并发数,最少需要 1G 内存。
磁盘需求: DMHS 安装文件占用 277M,包括了管理工具以及管理界面占用的空间,另外需要一些额外的空间存储 DMHS 运行的日志文件。
操作系统权限: 在 Windows 安装时,安装和执行 DMHS 的用户必须是管理员身份;在 Linux 平台下安装,安装用户必须有权限读写 DMHS 安装目录,将涉及的数据库接口动态库添加到系统共享库环境变量中。
网络要求: 配置系统支持 TCP/IP 服务(DMHS 安装的所有机器必须配置主机名或者 IP地址)。 DMHS 需要使用以下 TCP/IP 端口:管理进程间通信的默认端口 5345;发送和执行子系统之间通信的默认端口 5346;用户可以自行定义这些端口。
Linux平台:
图形界面安装:./dmhs_V3.1.3_dm8_rev90484_rh6_64_veri_20200513.bin
命令行界面:./dmhs_V3.1.3_dm8_rev90484_rh6_64_veri_20200513.bin -i
Windows平台:
dmhs_V3.1.3_dm8_rev88482_win64_veri_20191011.exe
第一步:选择安装语言
第二步:进入欢迎界面,下一步
第三步:授权协议,选择接受
第四步:许可证,如有KEY则输入选择key文件,没有则选择免费试用
第五步:选择安装类型和指定安装目录
可以选择精简版、完整版、自定义组件。
第六步:选择安装方式,(这里实例中都使用默认,选择统一部署)
统一部署:表示仅安装DMHS软件;
现在初始化:表示安装DMHS软件时配置MGR模块相关参数。
第七步:远程部署工具配置
包括远程部署工具和内置数据库的配置
第八步:安装配置系统服务
可以选择启动方式:自动或者手动
第九步:安装完成
安装步骤与图形界面安装相同。
安装过程如下:
[root@localhostdmdba]# ./dmhs_V3.1.3_dm8_rev90484_rh6_64_veri_20200513.bin -i
Extract install files..........
1.English
2.Simplified Chinese(简体中文)
Install Language[2.Simplified Chinese(简体中文)]:
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:2
1.实时同步软件服务器
2.远程部署工具
3.对比工具客户端
4.实时同步软件客户端
5.内置数据库
6.实时同步软件配置助手
7.手册
所需磁盘空间:1,083 MB
安装目录: [/opt/dmhs]/dm/dmhs
该路径不为空,是否继续安装?[Y or N]Y
安装路径可能存在覆盖安装
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:
正在安装
正在创建快捷方式
安装成功
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)
[192.168.0.107] (192.168.0.107,192.168.25.33,192.168.15.33):192.168.15.33
远程部署工具管理端口[5456](1000-65535):
内置数据库轮询间隔[3](1-60):
内置数据库IP[192.168.0.107]:192.168.15.33
内置数据库端口[15236]:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
内置数据库服务
1.自动
2.手动
启动方式:[2.手动]1
正在创建内置数据库服务
远程控制服务
1.自动
2.手动
启动方式:[2.手动]
正在创建远程控制服务
web服务
1.自动
2.手动
启动方式:[2.手动]
正在创建web服务
达梦数据实时同步 V4.0 安装完成
更多安装信息,请查看安装日志文件:
/dm/dmhs/log/install.log
第一种方式:在软件安装后,使用tool目录下的dmhs配置助手工具(dmhs_hsca)进行配置;
第二种方式:使用WEB管理平台进行配置;
第三种方式:直接手动编辑dmhs.hs配置文件。
bin: 执行码、动态库等
db: 内置数据库(默认dm7)
doc: 文档目录,包括搭建文档
guard(或者hs_agent): guard或者agent目录
scripts: 脚本目录,包括DDL同步需要执行的相关SQL脚本等
tool: 工具目录,包括dmhs配置助手工具等
1、选择一个dm7及以上数据库作为manager的后台数据库;
(1)若是使用的dmhs安装中自带的内置数据库,则无需准备,只需启动内置数据库,启动服务脚本是在dmhs安装目录下db目录下面bin目录中的DmServiceXXX服务脚本;
(2)若是使用的外置数据库,则需在该数据库中执行dmhs_manager.sql来创建元数据,dmhs_manager.sql在dmhs安装目录下面的scripts目录下面;
2、配置后台数据库的连接信息,在文件WEB-INF/config/connectPool.xml(manager.war中)配置,使用内置数据库则无需修改;
3、启动tomcat,运行dmhs安装web目录下bin目录下的DmhsWebService服务脚本;
4、访问
假设本机ip为192.168.15.33,开启浏览器访问http://192.168.15.33:8080/manager,登录(admin/888888)
浏览器要求:
(1)IE浏览器版本要求IE10以上;
(2)360浏览器需使用极速模式;
(3)Firefox、chrome等其他浏览器没要求;
5、用管理员登陆系统后,可以在"系统管理"->"系统配置"页面中对系统的其他属性进行配置,包括监控告警配置、前端刷新频率、邮件手机通知、安全配置等;
6、若要启用邮件通知,需用管理员用户登录系统, 在系统配置中完成系统邮箱的相关配置;
7、若需要启用短信通知,用户需要借助我们提供的WEB-INF/lib/demsdk.jar,实现 com.dameng.dmhs.manager.server.util.IPhoneNotify接口,将依赖包及实现类打包放入到WEB-INF/lib下,重启web容器,然后在系统配置中完成短信通知的相关配置即可。
8、启动guard和stat,前提配置好guard和stat
(1)在dmhs安装目录tool目录下面运行dmhs_stat脚本启动stat;
(2)在dmhs安装目录tool目录下面运行dmhs_guard脚本启动guard;
9、dmhs manager运行起来之后,可以点击web界面的右上角的帮助按钮查看联机帮助,获取更详细的使用说明。
10、veri工具管理,假设本机ip为192.168.15.33,开启浏览器访问http://192.168.15.33:8080/veri,登录(admin/admin)
DMHS提供的卸载方式为全部卸载。在Windows操作系统中在菜单里面找到“达梦数据实时同步软件 V4.0”,然后点击“卸载”菜单;也可以在DMHS安装目录下,找到卸载程序uninstall.exe来执行卸载。运行卸载程序之后,点击卸载。卸载程序将会移除DMHS目录、删除快捷方式、删除Windows服务。
进入DMHS安装目录,执行卸载脚本命令行卸载
./uninstall.sh或者./uninstall.sh -i
新的版本卸载脚本名称为uninst.sh:
./uninst.sh或者./uninst.sh -i
[root@DaMengDB dmhs]# ./uninst.sh -i
1.确认卸载
2.中止卸载
请选择:1
正在检测安装环境...
正在整理安装信息...
删除快捷方式...
删除系统服务...
[Uninstall service] DmhsAgentServiceDmHsAgent
[Uninstall service] DmServiceHSDB
[Uninstall service] DmhsWebService
删除注册信息...
卸载完成