一、环境准备
数据库版本: x64 V8.1-1-104-20.07.24-124842-ENT
DMHS版本:V3.1.3-Build(2020.09.17-93815trunc)_D64
CPU:X86
操作系统:深度(内核:Centos7.4)
源端IP:192.168.56.101
目的端IP:192.168.56.201
二、前期准备(源端)
开启归档和逻辑日志
1>设置归档标记和逻辑日志标记。打开 DM8 服务器配置文件“dm.ini”,设置如下值:
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1 #源端开启
注意:dm.ini 配置参数中“FAST_COMMIT”必须为 0,否则会导致逻辑日志不全而影响 同步。
2>添加归档配置文件。在“dm.ini”同目录下创建文件“dmarch.ini”,示例内容如下:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /saic/dmarch #归档目录
ARCH_FILE_SIZE = 512 #归档文件大小,单位 MB
ARCH_SPACE_LIMIT = 20480 #空间大小限制,0 表示不限制
3>重启 DM8 数据库,使配置参数生效。
4>检查归档配置是否生效
SQL> SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE=‘LOCAL’ AND ARCH_IS_VALID=‘Y’;
5>检查逻辑日志配置的正确性
SQL> SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = ‘RLOG_APPEND_LOGIC’;
6>检查 FAST_COMMIT 参数是否为 0
SQL> select para_value from v$dm_ini where para_name = ‘FAST_COMMIT’;
三、DMHS安装
[root@qyq-101 opt]# ./dmhs_V3.1.3_dm8_rev95459_rh6_64_veri_20201130.bin -i
Extract install files…
1.英文(English)
2.简体中文(简体中文)
请选择安装语言[2.简体中文(简体中文)]:2
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:1
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:3
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.ODBC驱动
6.实时同步软件配置助手
7.手册
输入选择安装组件的序号,以’,'分隔:1,2,3,4,5,6,7
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.ODBC驱动
6.实时同步软件配置助手
7.手册
所需磁盘空间:828 MB
安装目录: [/opt/dmhs]/home/dmdba/dmhs -DMHS安装目录
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:2
正在安装
default start … default finished.
server start … server finished.
hs_agent start … hs_agent finished.
webmanager start … webmanager finished.
db start … db finished.
odbc start … odbc finished.
hsca start … hsca finished.
doc start … doc finished.
doc start … doc finished.
postinstall start … postinstall finished.
正在创建快捷方式
安装成功
ODBC驱动配置
DMHS目标端或VERI对比工具数据库驱动信息配置
1.添加ODBC驱动
2.不添加ODBC驱动
是否在odbcinst.ini中添加ODBC驱动配置?[1.添加ODBC驱动]2
实时同步服务(DMHS)配置
1.英文(English)
2.简体中文(简体中文)
Dmhs语言[2.简体中文(简体中文)]:2
请输入mgr端口号 (1000-65535)[5345]:
请输入信息收集间隔 时间(1-60)秒[3]:
请输入检查点间隔时间(10-65536)秒[60]:
请输入站点id(0-65536):1 --源端与目的端站点号不能一致
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)192.168.122.1:
远程部署工具管理端口5456:
内置数据库轮询间隔3:
内置数据库IP[192.168.122.1]:
内置数据库端口[15236]:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
1.命令行方式
2.系统服务方式
3.脚本服务方式
Dmhs启动方式[2.系统服务方式]:3
内置数据库服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建内置数据库服务
初始化内置数据库
正在创建内置数据库服务
初始化内置数据库
远程控制服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建远程控制服务
web服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建web服务
达梦数据实时同步服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建达梦数据实时同步服务
状态监控服务
启动方式:[2.手动]
正在创建状态监控服务
正在启动服务 DmServiceHSDB
达梦数据实时同步 V4.0 安装完成
更多安装信息,请查看安装日志文件:
/home/dmdba/dmhs/log/install.log
四、配置环境变量
Vi .bash_profile 添加以下内容
export LD_LIBRARY_PATH=/home/dmdba/dmdbms/bin:$LD_LIBRARY_PATH source .bash_profile
注:环境变量路径为数据库安装路径和DMHS安装路径
五、上传dmhs.key
将dmhs.key拷贝到dmhs安装目录的bin下
六、DDL同步
如果要求 DDL 同步,那么需要创建 DDL 触发器和辅助表。创建的脚本参见 DMHS 安装目录下 scripts 子目录中“ddl_sql_dm8.sql”。注意创建时需要使用 SYSDBA 用户。
将这个脚本在管理工具上执行 (源端跑)
七、配置dmhs.hs
目的端配置dmhs.hs
目的端安装DMHS、DM数据库
进入目的端的DMHS安装目录的bin目录
vi dmhs.hs
<disable> </disable>
</filter>
<map>*.*==*.*</map> --源端到目的端的映射
</send>
</cpt>
八、启动服务 启动kafka服务 进入kafka程序bin目录,分别在集群节点启动zookeeper和kafka server。 目的端启动DMHS服务 进入到dmhs安装目录bin目录 1>修改文件dmhs_kafka.properties里的内容,其中 dmhs.conf.pat修改为实际的hs配置文件路径 bootstrap.servers修改为实际的kafka节点信息 kafka.topic.name修改为实际的主题 其余参数保持不变 一个模板如下: # DMHS config file path dmhs.conf.path=/opt/dmhs/bin/dmhs.hs # kafka broker list,such as ip1:port1,ip2:port2,... bootstrap.servers=192.168.56.201:9092 # kafka topic name kafka.topic.name=DMHSTEST # whether to enable JSON format check json.format.check=1 # kafka serializer class key.serializer=org.apache.kafka.common.serialization.StringSerializer value.serializer=org.apache.kafka.common.serialization.StringSerializer # kafka partitioner config partitioner.class=com.dameng.dmhs.dmga.service.impl.SimplePartitioner # kafka request acks config acks=1 max.request.size=5024000 2>配置hs启动脚本 创建文件start_dmhs_kafka.sh,内容如下 Vi start_dmhs_kafka.sh #!/bin/sh export LANG=zh_CN.GBK /usr/local/java/jdk1.8.0_171/bin/java -Djava.ext.dirs="/opt/dmhs/bin" com.dameng.dmhs.dmga.service.impl.ExecDMHSKafkaService /opt/dmhs/bin/dmhs_kafka.properties 其中,要注意:java路径,dmhs目录和dmhs_kafka.properties根据实际路径配置 执行start_dmhs_kafka.sh,示例如下:
源端启动DMHS服务
进入到dmhs安装目录bin目录
./DmhsServiceHSSERVER start
starting DmhsServiceHSSERVER: [ OK ]
九、数据装载
目的端
进入DMHS目录执行./dmhs_console程序连接DMHS服务,启动执行服务
./dmhs_console
CSL[INFO]: DMHS console tool: V3.1.3-Build(2020.09.17-93815trunc)_D64
DMHS >connect
CSL[WARN]: [INPUT CMD: connect]
CSL[INFO]: execute success
DMHS >start exec --第一步
CSL[WARN]: [INPUT CMD: start exec]
CSL[INFO]: execute success
DMHS >exit
源端
进入DMHS目录执行./dmhs_console程序连接DMHS服务,进行字典装载操作后,启动捕获服务
./dmhs_console
CSL[INFO]: DMHS console tool: V3.1.3-Build(2020.09.17-93815trunc)_D64
DMHS >connect
CSL[WARN]: [INPUT CMD: connect]
CSL[INFO]: execute success
DMHS >clear exec lsn --第二步
CSL[WARN]: [INPUT CMD: clear exec lsn ]
CSL[INFO]: execute success
DMHS >copy 0 “sch.name=‘SYSDBA’” DICT --第三步(装载)
DMHS >start cpt --第四步(同步)
CSL[WARN]: [INPUT CMD: start cpt]
CSL[INFO]: execute success
十、验证数据同步
源端创建测试表
create table TEST (id int);
insert into TEST values (1);
commit;
目的端查看数据是否同步
./kafka-console-consumer.sh --bootstrap-server ip:9092 --topic 主题名 --from-beginning
至此DM->Kafka部署DMHS完成!
有关DMHS安装配置手册、搭建手册、管理员手册、远程管理工具手册等见DMHS安装目录doc 目录下。