栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

达梦数据库DM8同步到KAFKA的部署方法

达梦数据库DM8同步到KAFKA的部署方法

本章内容已在如下环境上测试:

①操作系统:CentOS 7.5;

②数据库版本:DM8;

③DMHS版本:DMHS V3.1.3

一、安装DMHS 

1.1 安装:

需要在源端和目的端分别安装dmhs软件,如果为HA双机环境,分别在两台服务器上安装dmhs。

1.1.1 将安装包上传至服务器,并授予可执行权限

[root@bigdata159 dmdba]#chmod  777 dmhs_V3.1.3_dm8-kafka_rev82884sp3_rh7_64_veri_20190617.bin

1.1.2运行安装程序 

./dmhs_V3.1.3_dm8-kafka_rev82884sp3_rh7_64_veri_20190617.bin -i

1.1.3输入key文件

[root@bigdata159 dmdba]# ./dmhs_V3.0.2.01_dm7_rock4.2_64(20151009).bin  -iExtract install files.........Welecom to DMHS Install ProgramRequire Space:100MWhether to input the path of Key File? (Y/y:yes N/n:No)[Y/y]YPlease Input the Path of the Key File [dmhs.key]:/home/dmdba/dmhs.key

1.1.4 输入安装路径

Please input the install path [/opt/dmhs]:/home/dmdba/dmhsAvailable Space :1488MPlease Confirm the install path?(Y/y:yes N/n:No)[Y/y]Y

1.1.5 输入安装参数

[]中的为默认值,直接输入回车选择默认值,该步骤参数也可以随便填写,后期通过配置修改。其中源端和目的端的siteid要设置的不同(如源端使用1,目的端使用2)。

Please input the language (ch/en)[ch]:chPlease input the mgr_port (1000-65535)[5345]:Please input the chk_interval (1-60) second[3]:Please input the ckpt_interval (10-65536) second[60]:Please input the siteid (0-65536):1Whether to config statistical analysis? (Y/y:Yes N/n:No)[Y/y]Please input the database type (dm7/dm6/oracle)[dm7]:Please input the status collection Interval (0-60)[5]:Please input the database IP:127.0.0.1Please input the database port (1000-65535)[5236]:Please input the database user name:SYSDBAPlease input the database user password:SYSDBA

1.2 配置

1.2.1修改源端和目的端dmhs.xml配置文件

源端配置内容如下:

            ch        5345        3        60        1       2.0            dm8        127.0.0.1        SYSDBA        SYSDBA        5236        /home/dmdba/dm/dmhs_kafka/dmhs_dict        PG_GB18030                600        1                            10.147.232.159            5345            5346            256            0            0         0                                                *.*                                                                            

目的端配置文件内容如下:

              ch        5345        3        60        2     2.0                                                    5346                                                1                0                2                0                1                0                  1      

如果源端和目的端在同一台服务器可以把配置集合到一起。

1.2.2 源端数据库修改配置参数

修改dm.ini中参数RLOG_APPEND_LOGIC=1

开启归档日志ARCH_INI=1,(一般默认未开启)增加归档配置文件dmarch.ini:

[ARCHIVE_LOCAL1]ARCH_TYPE= LOCAL        ARCH_DEST= /dbarch/dmarch      ARCH_FILE_SIZE= 512        ARCH_SPACE_LIMIT= 300000

1.2.3 在源端数据库建立数据库对象

为了同步DDL操作和维护源端字典信息,使用SYSDBA用户建立下面的数据库对象。该脚本以相应版本安装目录中./scripts/ddl_sql_dm8.sql为准。

1.3 目的端KAFKA相关设置

1.3.1 查看当前有哪些topic

[dmdba@master kafka_2.11-1.1.0]$ bin/kafka-topics.sh --list --zookeeper localhost:2181

1.3.2 创建一个topic​​​​​​​

[dmdba@master kafka_2.11-1.1.0]$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic DMHS[dmdba@master kafka_2.11-1.1.0]$ bin/kafka-topics.sh --list --zookeeper localhost:2181 DMHS

1.3.3 查看消费者的界面是否有消息推送过来

[dmdba@master kafka_2.11-1.1.0]$ bin/kafka-console-consumer.sh --bootstrap-server 10.147.232.159:9092 --topic DMHS --from-beginning

注:以上红色部分为创建的topic话题,需要和后期启动脚本中的话题名称一致,区分大小写。

✦ 二、启动同步服务 ✦ 

如果源端和目的端在同一服务器只需启动一个进程即可,在两台服务器需要分别启动。本篇以在同一台服务器举例。

2.1. 启动DMHS服务 2.1.1  启动脚本

启动之前将kafka目录下的libs目录的文件,全部copy 至dmhs软件bin目录下

创建DMHS服务启动脚本名为start_dmhs_kafka.sh,内容如下:​​​​​​​

#!/bin/shexport.GBKexport LD_LIBRARY_PATH=/home/dmdba/dm/dmdbms/bin:/home/dmdba/dm/dmhs_kafka/binjava -Djava.ext.dirs="/home/dmdba/dm/dmhs_kafka/bin"  com.dameng.dmhs.dmga.service.impl.ExecDMHSKafkaService /home/dmdba/dm/dmhs_kafka/bin/dmhs.hs 10.147.232.159:9092 DMHS

说明:

①"/home/dmdba/dm/dmhs_kafka/bin"为kafka的libs目录以及DMHS 辅助jar包路径。

②com.dameng.dmhs.dmga.service.impl.ExecDMHSKafkaService 为DMHS实现kafka同步服务的类名。

③/home/dmdba/dm/dmhs_kafka/bin/dmhs.hs为DMHS配置文件dmhs.xml。

④10.147.232.159:9092为kafka集群节点。

⑤DMHS 为topic话题。topic可选,如果不填写topic,则每张表会建一个topic,名称即为表名。指定topic的话所有的表都填写在一个topic中,该topic话题必须和KAFKA话题一致。

以上各项路径参数根据实际环境进行修改。建议使用jdk1.7以上版本。

2.1.2. 启动服务

进入启动脚本目录,使用dmdba用户执行:

[dmdba@bigdata159 ~/dmhs_kafka/bin]$./start_dmhs_kafka.sh

DMHS执行服务自动启动并监听相应数据端口。

启动的时候如果有个报错,库文件 libdmhs_exec_dll.so 未找到,如下图所示:

[dmdba@bigdata159 ~/dmhs_kafka/bin]$ldd libdmhs_exec_dll.so

原因是有依赖问题,ldd一下把依赖解决就好。

处理过程中遇到缺少libodbc.so.1的动态库需要安装一下unixodbc。操作如下:

1) 安装 UNIXODBC-2.3.0 的方法。​​​​​​​

将压缩包上传到 linux  /usr/local 下,然后执行 [root@bigdata159 /usr/local]#tar  -xzf  unixODBC-2.3.0.tar.gz[root@bigdata159 /usr/local]#cd  unixODBC-2.3.0[root@bigdata159 unixODBC-2.3.0]#./configure[root@bigdata159 unixODBC-2.3.0]#make  &&  make  install通过 odbc_config --version 确定odbc安装是否成功

2)  拷贝odbc动态库。

进入/usr/local/lib/下执行cp libodbc.so.2 到dmhs/bin下libodbc.so.1,然后另起一个终端窗口,进入DMHS目录执行./dmhs_console程序连接DMHS服务,进行字典装载操作后,启动捕获服务:​​​​​​​

[dmdba@bigdata159 libs]./dmhs_consoleDMHS >connect 223.254.19.139:5345DMHS >COPY 0 “SCH.NAME=’DMHS’” DICTDMHS >START CPT

至此,完成DMHS同步服务启动。

2.1.3. 验证DMHS同步至kafka

开启一个消费者界面,目前新版本一个对自动对应一个topic,这里我观察DMHS的推送情况,所以topic就指定DMHS。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/720371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号