说明

DMHS:Heterogeneous database Synchronization for DM
达梦数据同步软件是达梦推出的支持异构环境的高性能、高可靠、高扩展的数据库实时同步工具,它类似于Oracle数据库生态中的工具:Oracle Golden Gate。

DMHS可以做到:

  1. 跨多种软硬件平台
  2. 支持强大而灵活的拓扑结构
  3. 能以极少的系统开销实现秒级数据实时同步

DMHS的场景:

  1. 应急系统
  2. 容灾备份
  3. 负载均衡
  4. 数据移植
  5. 联机维护
  6. 订阅分发
  7. 多业务中心
  8. … 等业务领域

相比于传统的系统,DMHS的优势:

  1. 通过秒级数据实时同步可以有效避免传统备份系统导致的无法完全满足企业对于信息系统不中断服务的问题
  2. 通过变化日志捕捉可以有效的降低传统的ETL工具因为创建触发器、影子表等对业务系统带来的性能影响
  3. 通过可读写的备机数据库系统可以解决传统备机系统仅仅作为后备,而无法对外提供数据服务的问题

DMHS的技术示意图:

DMHS – 产品特点:

  1. 体系结构高可扩展
  2. 确保业务系统高可用
  3. 高效的数据实时同步
  4. 高可靠的数据传输
  5. 可读写的备机系统
  6. 数据同步内容可定制
  7. 轻量级涉及实现快速部署
  8. 跨平台软硬件支持

DMHS:安装介质

DMHS的安装介质无法在公共网络上获取,官网网站(dameng.com 与 eco.dameng.com)无法下载,如果希望获取DMHS的安装介质,可以联系达梦公司的官方销售。

这里,我将拿到的安装介质上传目标服务器:

可以看到,DMHS的安装介质【dmhs_V4.1.2_dm8_rev100195_rh6_64_veri_20210618_pack2.bin】大小:451MB

DMHS:安装

创建DMHS的按照安装目录:

DMHS的安装介质是没有静默的安装方式的,因此只能通过图形化的交互式方式安装;
如果无法运行图形化窗口,那么可以使用选项【-i】,以命令行的交互方式执行:

这是我在另外的节点上用命令行的方式安装的,大概的过程如下:

进入Linux用户dmdba,然后执行DMHS的安装:

这里需要注意:
如果前面没有创建目标路径,并且目标路径的权限不正确。
那么这一步会报错。

等待安装结束。

这一步是可选的,这一步是添加数据库的ODBC驱动。

配置DMHS的Agent:

注意:
1. status_server – 指定DMHS内置数据库的IP地址;在一套DMHS的架构中,该地址在不同的节点之间,应该配置为一样的;只有一套DMHS架构中的内置数据库IP设置为了一样的,目标节点才可以被DMHS管理到,否则可能DMHS中会缺失节点。

如果安装好了DMHS,希望修改DMHS Agent的配置,那么需要修改:DMHS安装目录下的hs_agent目录中的文件:dmhs_agent.xml

 

然后重启服务【DmhsAgentServiceHsAgent】,即可应用变更。

接下来配置Service:

这样,DMHS就安装完成了。

安装完成后,看看安装目录中的状态:

在前面DMHS的安装过程中,配置了几个服务:
DmServiceHSDB
DmhsWebService
DmhsAgentServiceHsAgent
————————
通常:
1. 内置数据库所在的主机需要开启上面三个服务
2. 一般的DMHS同步的节点主机只需要开启代理服务【DmhsAgentServiceHsAgent】
3. 如果选用的是精简版的安装,通常也会只有代理服务一个选项


服务: DmServiceHSDB

该服务实际上位于DMHS安装目录的db子目录中,它是DMHS内置的数据库服务:

服务: DmhsWebService

这个服务实际上位于DMHS安装目录的web子目录中:

这个时候观察端口会发现WEB端口8080已经被监听了:

服务: DmhsAgentServiceHsAgent

该服务是DMHS的代理服务,位于DMHS安装目录的hs_agent子目录:


DMHS:WEB

上述三个服务启动没问题的话,就可以访问WEB Portal了:
http://192.168.232.11:8080/manager/
默认用户:admin
默认口令:888888

可以看到,当前只有一个HS实例,也就是我们刚刚安装的这台节点(192.168.232.11)
这个是因为,我的第二台节点的DMHS Agent的服务的内置数据库的IP写的是:192.168.232.12,应该是:192.168.232.11,应该与第一台节点保持一致。
(修复方法在上面配置错误的地方已经标注了)

修复完成后:

在另一个节点【192.168.232.12】上以一样的方式安装好DMHS,并启动DMHS的代理服务。

另一个节点启动DMHS代理服务:

DMHS:架构说明

在我的实验环境中会涉及两个节点:

192.168.232.11DMHS + DAMENG目标端(EXEC)
192.168.232.12DMHS + MySQL源端(CPT)

如上所示,我们要通过DMHS,将12节点上的MySQL的数据,同步到11节点上的DAMENG数据库中。

源端:MySQL数据库

在源端准备测试环境:

  1. 安装MySQL数据库(本文不作详述)
  2. 创建测试库、测试表,并且写入测试数据(本文不作详述,仅仅展示最终写入的测试数据)

如下:

DMHS:WEB

架构图:

接下来的步骤是在DMHS Web Portal上配置DMHS的实例;
DMHS配置的过程中,官方建议优先配置目标端的HS实例。

在开始配置之前,先看看当前的DMHS的状态:

在服务器上的配置文件:

节点一:192.168.232.11

节点二:192.168.232.12

目标端

执行器:EXEC_11 – DAMENG

源端

捕获器:CPT_12 – MySQL

启动

在这里,由于我的源库端的数据库是MySQL,因此,我遇到了一个DMHS的CPT服务启动的时候报错:找不到libcpt_mysql.so的错误

因为在DMHS中,针对不同的数据库有不同的版本的安装包,而我以上的环境配置中都没有注意到安装包的差异,因此遇到了问题。

后续,从官方获得了DMHS for MySQL的安装包后,再继续完成该文档。


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装