本文主要介绍运用kettle实时增量同步mysql数据
Debezium介绍
- 官网地址:https://debezium.io/documentation/
- Debezium是一个开源项目,为捕获数据更改(Capture Data Change,CDC)提供了一个低延迟的流式处理平台,通过安装配置Debezium监控数据库,可以实时消费行级别row-level))的更改。作为一个分布式系统,Debezium也拥有良好的容错性
- Debezium支持数据源:MySQL,MongoDB,PostgreSQL,Oracle,SQL Server等
Debezium插件准备
Debezium下载地址
- 解压 kettle-step-debezium-plugin.zip
- 拷贝kettle-step-debezium-plugin到data-integration\plugins下
Debezium插件使用
![](https://i-blog.csdnimg.cn/direct/c147556a90ae4003862ccf6b90f4a79f.png)
Debezium配置说明
connector.class: io.debezium.connector.mysql.MySqlConnector //引用的连接器类
//使用文件来存储已处理的binlog偏移量
offset.storage: org.apache.kafka.connect.storage.FileOffsetBackingStore
offset.storage.file.filename: C:\Users\42077\Desktop\mysql_offsets2.dat
database.history: io.debezium.relational.history.FileDatabaseHistory
database.history.file.filename: C:\Users\42077\Desktop\mysql_dbhistory1.txt
offset.flush.interval.ms: 6000
name: Debezium_CDC //连接器名字
database.hostname: 47.100.172.180 //mysql服务器地址
database.port: 3306 //端口号
database.user: root //用户名
database.password: Dragonline //密码
database.connectionTimeZone Asia/Shanghai
database.server.id: 1 //mysql安装配置时的服务ID(需要与MySQL的server-id不同)
database.include.list: biplatform //要捕获的数据库名
database.server.name: mysql-connector //数据库服务名
table.include.list: biplatform.dim_date ///要捕获的数据表
更多信息可参考官网:https://debezium.io/documentation/reference/2.6/connectors/mysql.html
Debezium运行
![](https://i-blog.csdnimg.cn/direct/f08d8fdd39cb4d218924401525122cba.png)
查看文件捕获到插入数据
CREATE:新增
DElETE:删除
UPDATE:修改
DDL:DDL语句