kafka实时读取sqlserver数据_sqlserver数据实时同步至kafka

sqlserver数据实时同步至kafka

发布时间:2019-01-09 17:35,

浏览次数:956

, 标签:

sqlserver

kafka

在处理实时数据时,需要即时地获得 数据库

表中数据的变化,然后将数据变化发送到Kafka中。这篇文章将介绍如何使用Kafka

Connector完成这一工作。当获取实时数据时,数据源需要支持对数据变化进行反馈。不同的数据源采用了不同的技术和方法实现该功能,因为我们的业务数据库是MS

SQL Server,因此这篇文章采用MSQL作为数据源。

调研

ETL之增量抽取方式:https://www.cnblogs.com/fjhh/p/5370891.html

1、触发器方式

2、时间戳方式

3、全表删除插入方式

4、全表比对方式

5、日志表方式

6、系统日志分析方式

7.1 ORACLE改变数据捕获

7.2 ORACLE闪回查询方式

8、比较和分析

ODBC数据管理器 SqlServer实时数据同步到MySql

安装安装mysqlconnector

配置mysqlconnector

新建链接服务器

创建连接mysql数据库的账号及密码

建立允许远程访问连接操作

建立LOOPBACK 服务器链接

设置服务器链接选项,阻止SQL Server 由于远过程调用而将本地事务提升为分布事务(重点)

编写触发器和存储过程

最终选择Connector

首先需要选择Connector,不同的数据源有不同的Connector,例如ActiveMQ Connector、MySql Connector、MSSQL

Connector等。即便是同一数据源,也可能有不同的第三方提供。我一共尝试了下面两个MSSQL Connector:

* https://debezium.io/docs/connectors/sqlserver/

* https://docs.confluent.io/current/connect/kafka-connect-cdc-mssql/index.html

比较遗憾的是:这两个Connector,debezium的是Alpha版本,confluent的是Preview版本,反正都不是正式版,而 MySql

 都已经有正式版本了,可见开源社区对MS真的不友好呀 >_

它们两个一个是使用MSSQL Server的 Change Data Capture

获取数据变更,一个是使用 Change Tracking

因为Change Tracking相比Change Data

Capture来说,更轻量一些,因此我选用了confluent的Connector。其下载地址是: https://www.confluent.io/hub/

安装Connector

下载后,将其解压缩至 $KAFKA_HOME/connectors 文件夹下,如下图所示:

$KAFKA_HOME是你的kafka安装目录,如果是集群,要安装在集群下每台机器的connectors目录下(注意,这个文件夹你的下面可能没有,但是你自己新建一个就行)。

配置Connector

接下来要对Connector进行配置,此时可以回顾一下 Kafka Connect 基本概念

。Connector是一组独立的集群,并且是作为Kafka集群的客户端,我们首先需要对Connector进行配置,配置文件位于

$KAFKA_HOME/config/connect-distributed.properties(说实在的,直接粘贴把你的替换掉就行):

# kafka集群地址 bootstrap.servers=hserver1:9092,hserver2:9092,hserver3:9092 #

Connector集群的名称,同一集群内的Connector需要保持此group.id一致 group.id=connect-cluster #

存储到kafka的数据格式 key.converter=org.apache.kafka.connect.json.JsonConverter

value.converter=org.apache.kafka.connect.json.JsonConverter

key.converter.schemas.enable=false value.converter.schemas.enable=false #

内部转换器的格式,针对offsets、config和status,一般不需要修改

internal.key.converter=org.apache.kafka.connect.json.JsonConverter

internal.value.converter=org.apache.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值