1 环境准备

操作系统:centos7.9图形化

zookeeper版本:zookeeper-3.8.3

kafka版本:kafka_2.11-2.0.0.tgz

达梦数据库版本:dm8_20230630_x86_rh6_64.iso

dmhs版本:dmhs_V4.3.18_dm8_kafka_rev136029_rh6_64_20230802.bin

1.1 系统初始化

1.1.1 关闭防火墙和selinux

systemctl stop firewalld && systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config &&  setenforce 0

1.1.2 设置主机名

#192.168.248.100主机设置

hostnamectl set-hostname kafka1

#192.168.248.101主机设置

hostnamectl set-hostname kafka2

#192.168.248.102主机设置

hostnamectl set-hostname kafka3

1.1.3 设置固定IP地址

#192.168.248.100主机设置

vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

DEVICE="ens32"

ONBOOT="yes"

IPADDR=192.168.248.100   

DNS1=192.168.248.2

GATEWAY=192.168.248.2

#192.168.248.101主机设置

vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

DEVICE="ens32"

ONBOOT="yes"

IPADDR=192.168.248.101   

DNS1=192.168.248.2

GATEWAY=192.168.248.2

#192.168.248.102主机设置

vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

DEVICE="ens32"

ONBOOT="yes"

IPADDR=192.168.248.102   

DNS1=192.168.248.2

GATEWAY=192.168.248.2

1.1.4 设置主机名解析

cat <>/etc/hosts

192.168.248.100 kafka1

192.168.248.101 kafka2

192.168.248.102 kafka3

EOF

上述都设置完成后重启

selinux需要重启后生效,不过可以临时生效setenforce 0(临时生效命令)

主机名设置需要关闭窗口后重新打开才能生效,因此建议重启服务器使修改配置全部生效

reboot

2 下载安装zookeeper

2.1 创建相关目录

mkdir -p /soft  /opt/bigdata

2.2 zookeeper下载地址

cd  /soft

wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz

tar zxvf apache-zookeeper-3.8.3-bin.tar.gz

mv /soft/apache-zookeeper-3.8.3-bin /opt/bigdata/zookeeper-3.8.3

cp -a  /opt/bigdata/zookeeper-3.8.3/conf/zoo_sample.cfg  /opt/bigdata/zookeeper-3.8.3/conf/zoo.cfg

2.3 修改zoo.cfg配置文件

vim /opt/bigdata/zookeeper-3.8.3/conf/zoo.cfg

#添加serve

server.1=kafka1:28/opt/bigdata88:3888  

server.2=kafka2:2888:3888  

server.3=kafka3:2888:3888

#添加dataDir

dataDir=/opt/bigdata/data/zookeeper/zkdata

#修改dataLogDir

dataLogDir=/opt/bigdata/data/zookeeper/zkdatalog

2.4 将zookeeper远程拷贝给其他节点

scp -r /opt/bigdata 192.168.248.101:/opt/

scp -r /opt/bigdata 192.168.248.102:/opt/

2.5 配置myid

#192.168.248.100主机设置

echo '1' > /opt/bigdata/data/zookeeper/zkdata/myid

#192.168.248.101主机设置

echo '2' > /opt/bigdata/data/zookeeper/zkdata/myid

#192.168.248.102主机设置

echo '3' > /opt/bigdata/data/zookeeper/zkdata/myid

2.6 配置zookeeper环境变量

vim /etc/profile

#文件最下面添加下列参数

export ZOOKEEPER_HOME=/opt/bigdata/zookeeper-3.8.3  

export PATH=$ZOOKEEPER_HOME/bin:$PATH

2.7 生效环境配置

source /etc/profile

2.8 启动zookeeper

zkServer.sh start

2.8.1 查看启动状态

zkServer.sh status

3 下载安装kafka

3.1 下载kafka

cd /soft

wget https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz

​​​​​​​解压安装包到指定路径

tar zxvf kafka_2.11-2.0.0.tgz -C /opt/bigdata/

​​​​​​​3.2 修改配置文件

这里重点修改三个参数broker.id标识本机、log.dirs是kafka接收消息存放路径、zookeeper.connect指定连接的zookeeper集群地址

vim /opt/bigdata/kafka_2.11-2.0.0/config/server.properties

#修改下列参数其他默认即可

broker.id=1

log.dirs=/opt/bigdata/kafka_2.11-2.0.0/kafka-logs zookeeper.connect=kafka1:2181,kafka2:2181,kafka3:2181

将kafka包远程拷贝给192.168.248.101/102节点

scp -r  /opt/bigdata/kafka_2.11-2.0.0 192.168.248.101:/opt/bigdata/

scp -r  /opt/bigdata/kafka_2.11-2.0.0 192.168.248.102:/opt/bigdata/

3.3 修改server.properties配置文件

#192.168.248.101主机

vim /opt/bigdata/kafka_2.11-2.0.0/config/server.properties

#修改下列参数其余跟192.168.248.100一样

broker.id=2

#192.168.248.102主机

vim /opt/bigdata/kafka_2.11-2.0.0/config/server.properties

#修改下列参数其余跟192.168.248.100一样

broker.id=3

​​​​​​​3.4 启动kafka集群

#三个主机都启动

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-server-start.sh -daemon /opt/bigdata/kafka_2.11-2.0.0/config/server.properties  &

3.5 ​​​​​​​查看kafka进程

​​​​​​​3.6 kafka基本操作

3.6.1创建topic

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-topics.sh  --create --zookeeper kafka1:2181,kafka2:2181,kafka3:2181 --replication-factor 3 --partitions 6 --topic kfk-test

3.6.2​​​​​​​ 列出创建的topic

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-topics.sh  --list --zookeeper kafka1:2181,kafka2:2181,kafka3:2181

3.6.3 ​​​​​​​生成数据

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-console-producer.sh -broker-list  kafka1:9092,kafka2:9092,kafka3:9092  --topic kfk-test

​​​​​​​3.6.4 消费生产数据

kafka 0.9版本之前用zookeeper 

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-console-consumer.sh --zookeeper  kafka1:2181,kafka2:2181,kafka3:2181  --from-beginning --topic kfk-test

kafka 0.9版本之后不推荐zookeeper方式,仍然支持,但逐渐会被取消,推荐bootstrap-server方式

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092  --from-beginning --topic kfk-test

​​​​​​​3.6.5 验证

打开三个节点,其中192.168.248.100打开使用生成数据

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-console-producer.sh -broker-list  kafka1:9092,kafka2:9092,kafka3:9092  --topic kfk-test

192.168.248.101/102使用消费生产数据

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092  --from-beginning --topic kfk-test

生产数据产生的数据会在消费生产数据哪里显示出来,如下截图

3.6.6 ​​​​​​​查看指定topic

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-topics.sh --describe --zookeeper kafka1:2181,kafka2:2181,kafka3:2181 --topic kfk-test

可以看到6个分区,每个分区3个副本

partiton: partion id  分区id

leader:当前负责读写的lead broker id ,就是server.properties的broker.id

replicas:当前partition的所有replication broker  list

isr:(in-sync replicas)relicas的子集,只包含出于活动状态的broker,离线或挂掉的broker不在此列表

​​​​​​​3.6.7 删除指定的topic

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-topics.sh  --delete --zookeeper kafka1:2181,kafka2:2181,kafka3:2181 --topic kfk-test

4 安装达梦

(此操作在192.168.248.100操作即可)

​​​​​​​4.1 创建相关用户目录

groupadd dinstall

useradd -g dinstall -m -d /home/dmdba/dm -s /bin/bash dmdba

mkdir -p /dbdata/dmdata /dbbak/dmbak /dbarch/dmarch /home/dmdba/dm/dmdbms /mnt/dm  /opt/dm

echo "123123" | passwd --stdin dmdba  

chown -R dmdba:dinstall /dbdata /dbbak /dbarch  /opt/dm  /mnt/dm /home/dmdba/

​​​​​​​4.2 root用户下修改资源限制

cat <> /etc/security/limits.conf

*   soft    core unlimited

*   hard    core unlimited

dmdba   soft    nofile     65536

dmdba   hard    nofile     65536

dmdba   soft    nproc      10240

dmdba   hard    nproc      10240

dmdba   soft    core       unlimited

dmdba   hard    core       unlimited

EOF

#验证配置是否生效

su - dmdba

ulimit -a

​​​​​​​4.3 禁用透明大页

透明大页会随机影响性能,因此建议禁用

​​​​​​​4.3.1 临时关闭

echo never > /sys/kernel/mm/transparent_hugepage/enabled

cat /sys/kernel/mm/transparent_hugepage/enabled

修改前

[always] madvise never

修改后

always madvise [never]

​​​​​​​4.3.2 永久关闭

需重启服务器后生效

vi /etc/rc.d/rc.local

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/transparent_hugepage/defrag

fi

添加执行权限

chmod +x /etc/rc.d/rc.local​​​​​​​

4.4 上传安装包

用xshell或者winscp上传安装包到系统/opt/dm下

下列以xshell为例

4.5 安装达梦数据库

(此操作在192.168.248.100操作即可)

​​​​​​​4.5.1 挂载安装数据库

mount -o loop /opt/dm/dm8_20230630_x86_rh6_64.iso /mnt/dm

su - dmdba

source .bash_profile

/mnt/dm/DMInstall.bin -i

------------------------------以下为安装过程选项----------------------------------------------------------

Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c   #选择c中文安装

解压安装程序..........

欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n   #选择n后续安装key文件有key可以直接输入绝对路径

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y      #选择是

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:    #默认直接回车如果不是21 中国时区填21

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:   #默认直接回车选择典型安装,典型是包含了服务器和客户端安装,自定义是可选择

所需空间: 1869M

请选择安装目录 [/home/dmdba/dm/dmdbms]:   #按要求安装路径,有特殊要求填入其他路径

可用空间: 68G

是否确认安装路径(/home/dmdba/dm/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:  #默认直接回车Y

安装前小结

安装位置: /home/dmdba/dm/dmdbms

所需空间: 1869M

可用空间: 68G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):

是否确认安装? (Y/y:是 N/n:否):y  

2024-01-08 11:03:48

[INFO] 安装达梦数据库...

2024-01-08 11:03:48

[INFO] 安装 基础 模块...

2024-01-08 11:03:53

[INFO] 安装 服务器 模块...

2024-01-08 11:03:54

[INFO] 安装 客户端 模块...

2024-01-08 11:03:57

[INFO] 安装 驱动 模块...

2024-01-08 11:03:59

[INFO] 安装 手册 模块...

2024-01-08 11:03:59

[INFO] 安装 服务 模块...

2024-01-08 11:03:59

[INFO] 移动日志文件。

2024-01-08 11:04:00

[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:

/home/dmdba/dm/dmdbms/script/root/root_installer.sh

安装结束

------------------------------以上为安装过程选项----------------------------------------------------------

再开一个窗口或者切换到root用户下执行上述命令

su - root

/home/dmdba/dm/dmdbms/script/root/root_installer.sh

4.5.2 ​​​​​​​初始化数据库实例

su - dmdba

/home/dmdba/dm/dmdbms/bin/dminit INI_FILE=/dbdata/dmdata/DAMENG/dm.ini PATH=/dbdata/dmdata extent_size=16 page_size=32 case_sensitive=y log_size=2048

​​​​​​​4.5.3 注册数据库服务

/home/dmdba/dm/dmdbms/script/root/dm_service_installer.sh   -t dmserver -dm_ini /home/dmdba/dm/dmdbms/bin/dm.ini  -p dmserverd

​​​​​​​4.5.4 修改初始化数据库实例后创建的配置文件

su - root

mv /usr/lib/systemd/system/DmServicedmserverd.service /usr/lib/systemd/system/dmserverd.service

mv /etc/systemd/system/multi-user.target.wants/DmServicedmserverd.service /etc/systemd/system/multi-user.target.wants/dmserverd.service

mv /home/dmdba/dm/dmdbms/bin/DmServicedmserverd  /home/dmdba/dm/dmdbms/bin/dmserverd

vim /usr/lib/systemd/system/dmserverd.service

---------------------------------------------------以下红色是需要修改部分-----------------------------------

[Unit]

Description=DM Instance Service(DmServicedmserverd).

After=network.target remote-fs.target

[Service]

Type=forking

PIDFile=/home/dmdba/dm/dmdbms/bin/pids/dmserverd.pid

ExecStart=/home/dmdba/dm/dmdbms/bin/dmserverd start

ExecStop=/home/dmdba/dm/dmdbms/bin/dmserverd stop

PrivateTmp=true

User=dmdba

TasksMax=infinity

LimitCORE=infinity

LimitNOFILE=100000

LimitNPROC=100000

[Install]

WantedBy=multi-user.target

---------------------------------------------------以上红色是需要修改部分-----------------------------------

​​​​​​​4.5.5 启动实例服务

systemctl start dmserverd.service

​​​​​​​4.5.6 登录验证

/home/dmdba/dm/dmdbms/bin/disql SYSDBA/SYSDBA

4.5.7 优化命令路径

su - dmdba

cat <>  /home/dmdba/dm/.bash_profile

export PATH=$PATH:/home/dmdba/dm/dmdbms/bin/

export PATH=$PATH:/home/dmdba/dm/dmdbms/tool/

EOF

生效环境配置

source ~/.bash_profile

验证

5 安装dmhs

mkdir  /home/dmdba/dmhs

/opt/dm/dmhs_V4.3.18_dm8_kafka_rev136029_rh6_64_20230802.bin -i

--------------------下列为安装过程所需选择配置-------------------------

Extract install files..........

1.English(English)

2.Simplified Chinese(简体中文)

Select the language to install[2.Simplified Chinese(简体中文)]:2  ##选择2简体中文

/tmp/DMHSInstall/install.log

1.免费试用达梦数据实时同步

2.使用已申请的Key文件

验证许可证文件[1.免费试用达梦数据实时同步]:2  ##选择2

Key文件路径:/opt/dm/dmhs20240925.key   #填入授权key路径

Key文件限制信息如下:

有效日期:2024-09-25

用户名称:达梦公司产品试用

服务器颁布类型:试用版

发布类型:企业版

Key类型:企业版

授权用户数:无限制

并发连接数:无限制

1.精简版

2.完整版(web客户端)

3.自定义

安装类型[1.精简版]:1    ##按需求选择,本次选择1

1.实时同步软件服务器

2.远程部署工具

3.实时同步软件配置助手

4.手册

所需磁盘空间:540 MB

安装目录: [/home/dmdba/dmhs]

该路径不为空,是否继续安装?[Y or N]y

安装路径可能存在覆盖安装

1.统一部署

2.现在初始化

是否初始化达梦数据实时同步系统[1.统一部署]:1   #选择1

正在安装

default start ...    default finished.

server start ...    server finished.

hs_agent start ...    hs_agent finished.

hsca start ...    hsca finished.

doc start ...    doc finished.

postinstall start ...    postinstall finished.

正在创建快捷方式

安装成功

远程部署工具配置

远程部署工具名称[HsAgent]:   #默认回车

主机Ip(外网)[192.168.248.34](192.168.248.34):192.168.248.34   #填入外网IP地址,如果内网外网两个IP地址的话

远程部署工具管理端口[5456](1000-65535):  #默认回车

内置数据库轮询间隔[3](1-60):  #默认回车

内置数据库IP[]:192.168.248.34  #有内网IP地址填写内网IP,本次我只设置一个IP地址

内置数据库端口[15236](1000-65535):   #默认回车

内置数据库用户名[SYSDBA]: #默认回车

内置数据库密码[SYSDBA]: #默认回车

服务脚本环境变量设置

依赖库路径

提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。

请配置依赖库路径:/home/dmdba/dmhs

远程控制服务

1.自动

2.手动

启动方式:[2.手动]2     #选择2手动

正在创建远程控制服务

达梦数据实时同步V4.0安装完成

更多安装信息,请查看安装日志文件:

/home/dmdba/dmhs/log/install.log

#默认回车结束

--------------------上述为安装过程所需选择配置-------------------------

​​​​​​​5.1 开启归档与逻辑日志

disql sysdba/SYSDBA

#开启归档日志

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE ADD ARCHIVELOG 'DEST=/dbarch/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';

ALTER DATABASE OPEN;

#开启逻辑日志

sp_set_para_value(1,'RLOG_APPEND_LOGIC',1);

select value from v$parameter where name = 'RLOG_APPEND_LOGIC';

#复制libdmoci.so到指定目录

cp -a /home/dmdba/dmhs/db/bin/libdmoci.so  /home/dmdba/dmhs/bin

#检查依赖

cd /home/dmdba/dmhs/bin

ldd libdmhs_exec.so

​​​​​​​5.2 创建dmhs.hs

vim /home/dmdba/dmhs/bin/dmhs.hs

        

                ch

                5345

                60

                1

                2.0

        

        

                dm8

                192.168.248.100

                5236

                SYSDBA

                SYSDBA

                0

                PG_UTF8

                

                        600

                        0

                

                

                        192.168.248.100

                        5445

                        5446

                        0

                        0

                        1

                        

                                

                                  XGQ.*

                                

                        

                        

                        

                

        

​​​​​​​5.3 在源端数据库建立数据库对象

执行创建促发器语句

执行sql

5.4 ​​​​​​​创建dmhs的topic

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-topics.sh  --create --zookeeper kafka1:2181,kafka2:2181,kafka3:2181 --replication-factor 3 --partitions 6 --topic DMHS

​​​​​​​5.5 查看dmhs的topic是否创建

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-topics.sh --describe --zookeeper kafka1:2181,kafka2:2181,kafka3:2181 --topic DMHS

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

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-console-consumer.sh --bootstrap-server 192.168.248.100:9092 --topic DMHS --from-beginning

​​​​​​​5.7 将kafka目录下的libs目录的文件,全部copy 至dmhs软件bin目录下

cp /opt/bigdata/kafka_2.11-2.0.0/libs/*  /home/dmdba/dmhs/bin/

​​​​​​​5.8 创建dmhs_kafka.properties

vim /home/dmdba/dmhs/bin/dmhs_kafka.properties

--------------下述dmhs_kafka.properties​​​​​​​配置文件内容-------------------------------

# DMHS config file path

dmhs.conf.path=/home/dmdba/dmhs/bin/dmhs.hs

# 这里设置的是kafka集群主机名和端口

bootstrap.servers=kafka1:9092,kafka2:9092,kafka3:9092

# kafka topic name

kafka.topic.name=DMHS

#dmhs.sendKey.parse.format=schema:source:tableName

#dmhs.sendKey.parse.format=primary_keys_values

#dmhs.sendTopic.parse.format=schema:source:tableName

#topic.map.conf.path=/dmhs_kafka/bin_0329/tableTopicMap.properties

# whether to enable JSON format check

json.format.check=0

# How many messages print cost time

print.message.num=1000

# How many messages batch to get

dmhs.min.batch.size=100

# 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.OnePartitioner

# kafka request acks config

acks=-1

max.request.size=5024000

dmhs.min.batch.size=3000

batch.size=1048576

linger.ms=3

buffer.memory=134217728

retries=3

#enable.idempotence=true

compression.type=none

max.in.flight.requests.per.connection=1

send.buffer.bytes=1048576

metadata.max.age.ms=300000

--------------上述dmhs_kafka.properties​​​​​​​配置文件内容-------------------------------

​​​​​​​5.9 创建dmhs.hs

vim /home/dmdba/dmhs/bin/dmhs.hs

下列为dmhs.hs配置文件内容这个配置文件适用与dmhs和kafka都在一台机器上------------

    

        ch

        5345

        3

        60

        1

        2.0

    

    

                

                        5346

                

                

                1

                0

                2

                0

                1

                0

                1

    

        dm8

        127.0.0.1

        SYSDBA

        SYSDBA

        5236

        /home/dmdba/dmhs/dmhs_dict

        PG_GB18030

        

        

            600

            1

        

        

            192.168.248.100

            5345

            5346

            256

            0

            0

            0

            0

            0

            

                

                    *.*

                

                

            

            

        

        

    

----------------------上述为dmhs.hs配置文件内容---------------------------

​​​​​​​5.10 创建json_format.xml

vim  /home/dmdba/dmhs/bin/json_format.xml

----------------------下列为json_format.xml配置文件内容---------------------------

char_replace=(",\"),(\,\\)

batch_commit=1

gs_flag=1

cur_time_format=(yyyy-mm-ddThh:mi:ss)

commit_time_format=(yyyy-mm-ddThh:mi:ss)

lob_piece=false

clob_format=char

set_null=1

opcmd_len=3

SET_QUOTA=1

need_crlf=false

json_format={"meta":{"time":"#COMMIT_TIME","userid":"#USERID","op":"#OP_TYPE","scn":"#LSN","rowid":"#ROWID","trans":"#TRXID","seq":#MSG_SEQ,"size":#MSG_NUM,"table":"#SCHEMA.#TABLE","idx":"#IDX","posttime":"#TIME"},"data":{#NEW_VALUES},"key":{#OLD_VALUES}}

----------------------上列为json_format.xml配置文件内容---------------------------

参数说明:

char_replace=(“,”),(,\):该参数用于定义同步数据如果出现特殊字符‘\’需要通过该参数准换后同步输出为’',否则该特殊字符会丢失。

json_format:该参数用于配置同步后数据输出的格式,可以自定义设置输出格式。

1.5.5准备kafka依赖文件

将kafka软件安装目录下的lib目录下的全部文件打包复制到dmhs目的端的安装目录的bin目录下作为dmhs的依赖文件:

目录结构为:/dmsoft/dmhs/bin/lib/{kafka依赖文件}

5.11 ​​​​​​​创建DMHS启动脚本

vim /home/dmdba/dmhs/bin/start_dmhs_kafka.sh

#!/bin/sh

#export LANG=zh_CN.GBK

export LD_LIBRARY_PATH=/home/dmdba/dm/dmdbms/bin:/home/dmdba/dmhs/bin/

ulimit -c unlimited

export LANG=zh_CN.UTF-8

java -Djava.ext.dirs="/home/dmdba/dmhs/bin/lib:." com.dameng.dmhs.dmga.service.impl.ExecDMHSKafkaService /home/dmdba/dmhs/bin/dmhs_kafka.properties

5.1​​​2 启动dmhs

/home/dmdba/dmhs/bin/start_dmhs_kafka.sh

​​​​​​​5.13 启动目的端EXEC模块

/home/dmdba/dmhs/bin/dmhs_console

DMHS>start exec

​​​​​​​5.14 在源端配置数据库字典并启动同步

/home/dmdba/dmhs/bin/dmhs_console

DMHS> clear exec lsn

DMHS>  COPY 0 "SCH.NAME IS NOT NULL" DICT|LSN

y

DMHS> start cpt

​​​​​​​5.15 验证是否同步成功

在192.168.248.100执行创建表数据或者删除更新数据

/home/dmdba/dm/dmdbms/bin/disql sysdba/SYSDBA

create table test (id int,name varchar(20000));

insert into test values(11,'tom');

commit;

在192.168.248.101主机上打开消费者看是否有数据进来

/opt/bigdata/kafka_2.11-2.0.0/bin/kafka-console-consumer.sh --bootstrap-server 192.168.248.100:9092 --topic DMHS --from-beginning

-------------------------------以上部署完成-------------------------------

如需更多资源支持请上达梦技术社区:

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

好文推荐

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。