前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Debezium使用指南

Debezium使用指南

作者头像
姜同学
发布2022-10-27 17:22:27
2.7K0
发布2022-10-27 17:22:27
举报
文章被收录于专栏:姜同学姜同学

实时数仓的第一步便是变更数据捕获(CDC),Debezium就是一款功能非常强大的CDC工具。Debezium是构建于Kafka之上的,将捕获的数据实时的采集到Kafka上

Debezium监控MySQL

监控MySQL的前提是MySQL需要开启binlog日志哦

MySQL开启binlog

MySQL查看是否开启Binlog

代码语言:javascript
复制
show global variables like 'binlog_format';
show global variables like 'log_bin';

下载MySQL connector

代码语言:javascript
复制
wget https://repo1.maven.org/maven2/io/debezium/debezium-connector-mysql/1.7.1.Final/debezium-connector-mysql-1.7.1.Final-plugin.tar.gz
代码语言:javascript
复制
mkdir /opt/debezium/
tar -zxvf debezium-connector-mysql-1.7.1.Final-plugin.tar.gz -C /opt/debezium/

修改Kafka配置文件connect-distributed.properties

注意我这里用的kafka为2.12-2.4.1,不同版本的kafka配置可能有所不同 配置文件内容如下

代码语言:javascript
复制
# kafka地址,多个地址用英文,隔开
bootstrap.servers=192.168.1.197:9092
group.id=connect-mysql
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
status.storage.topic=connect-mysql-status
status.storage.replication.factor=
offset.flush.interval.ms=
offset.storage.topic=connect-offsets
offset.storage.replication.factor=
config.storage.topic=connect-configs
config.storage.replication.factor=
plugin.path=/opt/debezium/debezium-connector-mysql

启动kafka connector

启动之前记得把debezium MySQL connector里面的jar包拷贝到kafka的libs目录下

代码语言:javascript
复制
/opt/module/kafka-2.4.1/bin/connect-distributed.sh -daemon /opt/module/kafka-2.4.1/config/connect-distributed.properties

代码语言:javascript
复制
curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" 192.168.1.197:8083/connectors/ -d @mysql-cdc.json

注册MySQL 连接器

注册连接器的方式也比较简单,kafka连接器发送post请求将配置信息放到请求体就可以了。 配置信息如下:

代码语言:javascript
复制
{
    "name": "pins-mysql-connector",
    "config": {
        "connector.class": "io.debezium.connector.mysql.MySqlConnector",
        "database.hostname": "192.168.1.95",
        "database.port": "3306",
        "database.user": "ffcdc",
        "database.password": "ucAuzatWUtHkiYyi",
        "database.server.id": "9527",
        "database.server.name": "pins-mysql-cdc",
        "database.include.list": "parkinsondb",
        "database.history.kafka.bootstrap.servers": "192.168.1.197:9092",
        "database.history.kafka.topic": "schema-changes.inventory",
        "table.include.list":"parkinsondb.sys_log"
    }
}

database.include.list配置监控的数据库,不填写的话就监控所有数据库。

Debezium Oracle Connector 的快照模式 snapshot.mode

snapshot.mode 支持的参数配置,这个参数只在连接器在第一次启动时起作用

参数值

描述

initial(默认)

连接器执行数据库的初始一致性快照,快照完成后,连接器开始为后续数据库更改流式传输事件记录。

initial_only

连接器只执行数据库的初始一致性快照,不允许捕获任何后续更改的事件。

schema_only

连接器只捕获所有相关表的表结构,不捕获初始数据,但是会同步后续数据库的更改记录。

schema_only_recovery

设置此选项可恢复丢失或损坏的数据库历史主题(database.history.kafka.topic)。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-06T,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Debezium监控MySQL
    • MySQL开启binlog
      • 下载MySQL connector
        • 修改Kafka配置文件connect-distributed.properties
          • 启动kafka connector
            • 注册MySQL 连接器
            • Debezium Oracle Connector 的快照模式 snapshot.mode
            相关产品与服务
            云数据库 SQL Server
            腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档