搭建DM8至加密认证Kafka同步(dmhs)

2023-11-02 11:20

本文主要是介绍搭建DM8至加密认证Kafka同步(dmhs),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.前言

1.1 同步概述

DMHS支持将源端全量或者增量的表数据以json格式投递给消息队列Kafka,应用于基于Kafka订阅消费的数据同步场景。

Kafka同步总体架构包含源端和目标端;其中源端与常规的关系数据库之间的数据同步保持一致,主要由CPT模块进行增量数据捕获,然后将其投递给网络NET模块,通过TCP/IP网络发送至执行端。 Kafka执行端则与常规的数据库同步架构有所区别,DMHS的执行EXEC模块不再由MGR模块调用,以运行执行程序,而是由Java同步程序进行调用。执行模块获取到同步数据后,转换为json格式串。Java同步程序通过JNI接口调用DMHS内部相关接口获取json串后,发送至Kafka消息队列。

本文对DM8同步至加密认证Kafka消息队列的部署配置进行描述。

1.2环境说明

源端

DM8

DM Database 64 V8 05134283890-20220429-159891-10045

操作系统

4.19.90-17.ky10.aarch64

DMHS

V4.2.69_sp1-Build(2022.04.02-107338trunc_sp1)_D64

服务器IP

192.168.104.99

目标端

Kafka

kafka_2.12-1.1.1

操作系统

4.19.90-17.ky10.aarch64

DMHS

V4.2.69_sp1-Build(2022.04.02-107338trunc_sp1)_D64

服务器IP

192.168.104.100

2.DM8准备工作

2.1启用归档(数据实时同步时需要)

DMHS同步源端数据库需要开启归档模式,使用如下语句检查DM8归档是否开启:

SQL> select arch_mode from v$database;LINEID     ARCH_MODE
----------     ---------
1           Y
used time: 3.236(ms). Execute id is 123.

如果ARCH_MODE字段查询结果为“N”,则DM8数据库归档未开启,使用如下命令开启归档模式。

SQL> alter database mount;
executed successfully
used time: 00:00:01.144. Execute id is 0.
SQL> alter database add archivelog 'DEST=/opt/dm8_arch,TYPE=LOCAL,FILE_SIZE=256,SPACE_LIMIT=0';
executed successfully
used time: 7.437(ms). Execute id is 0.
SQL> alter database archivelog;
executed successfully
used time: 10.277(ms). Execute id is 0.
SQL> alter database open;
executed successfully
used time: 00:00:01.262. Execute id is 0.

注意:

在数据库运行过程中,若需要开启归档模式,需要与DBA进行沟通。

2.2启用附加日志(数据实时同步时需要)

sp_set_para_value(2, 'RLOG_APPEND_LOGIC', 1);

注意:

(1) 该参数取值说明如下:

取值为1:如果有主键列,记录UPDATE和DELETE操作时只包含主键列信息;若没有主键列则包含所有列信息;

取值为2:不论是否有主键列,记录UPDATE和DELETE操作时都包含所有列的信息;

取值为3::记录UPDATE时包含更新列的信息以及ROWID,记录DELETE时只有ROWID。

在Kafka执行端,对于主键表,如果在更新和删除时需要显示全列信息,则需要设置该值为2,保证源端日志中记录有全列信息,否则无法显示全列。

(2)启用该参数后,源端DM8的归档日志量比不启用该参数会有所增加。

2.3创建同步辅助表及触发器(数据实时同步时需要)

执行位于DMHS安装目录的scripts子目录下,命名为:ddl_sql_dm8.sql脚本

3.DMHS源端准备工作

源端安装dmhs,DMHS安装及服务启动脚本可参考如下链接

https://blog.csdn.net/quorra111/article/details/122046715

4.Kafka执行端准备工作 

4.1 DMHS部署安装

Kafka执行端的安装与源端的安装类似。需要注意的是Kafka执行端还存在如下相关组件或脚本:

组件名称

功能

dmga-dmhs-kafka-service.jar

Java同步程序,负责将json串发送至Kafka

fastjson-1.2.21.jar

json格式校验包,进行json格式校验

dmhs_kafka.properties

Java同步程序的配置文件,进行Kafka发送相关参数设置

DmhsServiceexec_kafka

DMHS的Kafka执行端启动脚本

kafka_client_producer_jaas.conf

连接加密认证kafka需要的文件(若kafka无加密则可忽略此项)

4.2 JDK环境检查及安装 

Kafka执行端需要启动Java同步程序,因此执行端需要安装Java JDK环境。

4.3配置启动脚本

Kafka启动脚本为DmhsServiceexec_kafka,以下内容对比源端dmhs启动脚本,修改相关地方即可:

#set execute environment
#REPLACE DMHS_HOME path
DMHS_HOME=/opt/dmhs/INST_HS_KFEXEC5
#REPLACE program dir
PROG_DIR=/opt/dmhs/INST_HS_KFEXEC5
#REPLACE program config path
CONF_PATH=/opt/dmhs/INST_HS_KFE

这篇关于搭建DM8至加密认证Kafka同步(dmhs)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/330251

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.