暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

搭建dmhs常遇错误(附解决方法)

原创 她说 2021-09-18
3403

介绍DMHS

达梦数据实时同步软件 DMHS 是达梦公司推出的新一代支持异构环境的高性能、高可靠和高可扩展的数据库实时同步系统。该产品基于成熟的关系数据模型和标准接口,跨越多种软硬件平台实现秒级数据实时同步。该产品可广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发和多业务中心等业务领域。

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

DMHS功能

DMHS主要有两种功能: 数据装载(copy) 和数据实时同步。 copy功能可以做类似DTS(达梦数据迁移工具)工具的事情,可以迁移表结构、外键约束、check约束、索引。在部署DMHS时,如果源端数据库一直运行,则需要用DMHS进行初始数据迁移。至于表结构迁移可以使用 DMHS、DTS或者直接使用脚本在目的库创建。

细分DMHS功能

再细分DMHS功能,可以将DMHS提供的功能可以细分为捕获器功能、执行器功能、路由器功能、转发器功能

1.捕获器

捕获器将源端数据库日志读取解析后发送出去,它必须与源端数据库在同一台机器上。捕获器由 MGR 模块、CPT 模块、NET 发送子模块组成,XML 配置文件中对应元素为 base、cpt、send。NET 发送子模块不能单独存在,必须由 CPT 模块调用;在 XML 配置文件中也是一样的,send 元素为 cpt 元素的子元素。

捕获器中包含日志分析模块 CPT,由于日志分析需要用到数据库中的表信息,所以捕获器在首次启动时,要进行初始化加载需要同步的表的字典信息,把这些信息存放到本地。即使源数据库中断了服务,也不会影响日志分析。因此需要在捕获器中配置源数据库连接相关的信息,包括连接数据库的用户名和口令。

2.执行器功能

执行器将接收到的数据入库执行,它可以与目标端数据库处于不同机器。执行器由 MGR模块、EXEC 模块、NET 接收子模块组成,XML 配置文件中对应元素为 base、exec、recv。NET 接收子模块不能单独存在,必须由 EXEC 模块调用;在 XML 配置文件中也是一样的,recv 元素为 exec 元素的子元素。 执行器中的主要模块 EXEC 模块,主要用来进行数据入库,为了兼容大多数的数据库,它采用了标准的 ODBC 驱动接口和符合 SQL92 标准的 SQL 语句来访问数据库。此处需要配置的参数有数据库连接信息、事务缓存信息以及事务入库的方式等。数据入库往往是DMHS 数据同步的性能瓶颈所在,所以这块参数配置非常的重要,需要结合实际的运行环境,源端应用事务的特点来针对性的配置,实现入库性能的最大化。

3。路由器功能

路由器一般配置在第三台机器上,对捕获器中 CPT 模块和执行器中的 EXEC 模块进行映射,从而实现跨网关同步,并且一个路由服务可以实现 N 对 N 的映射。路由器由 MGR模块、NET 接收子模块、NET 发送子模块组成,XML 配置文件中对应元素为 base、route、recv、send。NET 接收子模块和 NET 发送子模块由 MGR 模块调度,从而实现路由功能;在XML 配置文件中 recv 元素和 send 元素均为 route 元素的子元素。 路由器适用在捕获器和执行器被网关隔断的环境,捕获器中的 CPT 模块和执行器中的EXEC 模块无法通过 NET(捕获器的 NET 发送子模块及执行器的 NET 接收子模块)实现网络直连,需要经过第三台机器中转的情况。

4.转发器功能

转发器将接收到的数据通过网络进行转发或是直接落地成本地文件。网络转发可以实现异步的一对多的需求,而落地成本地文件可以实现 FTP 的同步模式或者穿透网闸的需求。转发器由 MGR 模块、NET 接收子模块、NET 发送子模块组成,XML 配置文件中对应元素为 base、transfer、recv、send。NET 接收子模块和 NET 发送子模块由 MGR 模块调度,从而实现转发功能;在 XML 配置文件中 recv 元素和 send 元素均为 transfer 元素的子元素。
转发器适用在一个捕获器需要对应多个执行器的环境,或者捕获器和执行器之间存在物理隔离网闸,无法通过网络直连需要通过文件中转的情况。 转发和路由的不同在于,路由是 N 对 N 网络链路的映射,它不能对链路中的数据进行修改,而转发功能则可以针对每个下一级配置不同的过滤和映射。

搭建dmhs步骤不难,这里博主记录下搭建过程可能遇到的问题

1.启动目的端时报错

image.png

解决方法:该报错是找不到依赖的路径文件,找到缺少的文件,复制到dmhs安装下的bin目录

在dmdba用户下寻找,发现有个路径文件找不到
image.png

切换用户到root用户下在根目录下用ldd命令寻找:ldd / -name (要找的文件名)
image.png

找到之后复制到安装dmhs的bin路径下
image.png

复制之后重新查看依赖:
image.png

再次启动dmhs,启动成功
image.png

或者可以根据自己实际路径编辑系统文件,直接生效
image.png

2.启动目的端或者源端报错,加上路径仍报错

启动时日志报错:
image.png

加上依赖后仍然报错:
image.png

这种情况很有可能是dmoci文件有问题,需要自行在官网下载(dmoci包,该包会随着数据库的一起下载),将里面的oci文件复制到安装dmhs的bin目录下,更新依赖文件即可
image.png

image.png

重启即可成功登陆
image.png

3.初次装载,加载日志模块失败

解决方法:检查dmhs.hs文件,修改里面ip,端口号等配置,防止出现冲突
image.png

4.开启控制服务报错连接失败

image.png

解决方法:查看配置文件ip有没有错,如若没错,即是没有打开dmhs_server服务,打开服务即可

image.png

5.创建SOCKET连接失败,连接不上数据库

image.png

解决方法:找到dmhs配置的数据库,开启即可

总结

安装dmhs不难,照着手册来大部分都不会出问题,出问题要么配置文件参数有误,要么命令输入错误,要么文件有问题,只要多注意多总结多安装,相信能熟练掌握dmhs安装方法。

更多资讯请上达梦技术社区了解:https://eco.dameng.com

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

评论