搭建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

相关文章

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

使用MyBatis TypeHandler实现数据加密与解密的具体方案

《使用MyBatisTypeHandler实现数据加密与解密的具体方案》在我们日常的开发工作中,经常会遇到一些敏感数据需要存储,比如用户的手机号、身份证号、银行卡号等,为了保障数据安全,我们通常会对... 目录1. 核心概念:什么是 TypeHandler?2. 实战场景3. 代码实现步骤步骤 1:定义 E

kafka自定义分区器使用详解

《kafka自定义分区器使用详解》本文介绍了如何根据企业需求自定义Kafka分区器,只需实现Partitioner接口并重写partition()方法,示例中,包含cuihaida的数据发送到0号分区... 目录kafka自定义分区器假设现在有一个需求使用分区器的方法总结kafka自定义分区器根据企业需求

MongoDB搭建过程及单机版部署方法

《MongoDB搭建过程及单机版部署方法》MongoDB是一个灵活、高性能的NoSQL数据库,特别适合快速开发和大规模分布式系统,本文给大家介绍MongoDB搭建过程及单机版部署方法,感兴趣的朋友跟随... 目录前言1️⃣ 核心特点1、文档存储2、无模式(Schema-less)3、高性能4、水平扩展(Sh

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1