debezium 捕获mysql数据三-kafka(CDC)

debezium 捕获mysql数据三-kafka(CDC)

前言

代码和 debezium 捕获mysql数据二 差不多,唯一不同的是使用存储引擎是用 KafkaOffsetBackingStore

只需要修改 配置就行

@Override
protected Properties getProperties() {
    Properties prop = new Properties();
    prop.put("name", "customer-mysql-connector");
    prop.put("connector.class", "io.debezium.connector.mysql.MySqlConnector");

    //偏移量文件
    // 尝试提交偏移量的时间间隔。默认值为 1分钟
    prop.put("offset.flush.interval.ms", "0");
    prop.put("database.hostname", config.getHost());
    prop.put("database.port", config.getPort());
    prop.put("database.user", config.getUser());
    prop.put("database.password", config.getPasswd());
    prop.put("topic.prefix", "tp");

    //使用kafka做存储
    prop.put("offset.storage","org.apache.kafka.connect.storage.KafkaOffsetBackingStore");
    prop.put("bootstrap.servers", "192.x.xx.x:9092");
    prop.put("offset.storage.topic", "tp.offset.s");
    prop.put("offset.storage.partitions", "1");
    prop.put("offset.storage.replication.factor", "1");
    prop.put("database.history.kafka.bootstrap.servers", "192.x.xx.x:9092");
    prop.put("schema.history.internal.kafka.bootstrap.servers", "192.x.xx.x:9092");
    prop.put("schema.history.internal.kafka.topic", "tp.his_schema");

    prop.put("include.schema.changes", "false");
    prop.setProperty("database.include.list", "test");//要捕获的数据库名
    prop.setProperty("table.include.list", "test.t_user");//要捕获的数据表
    prop.put("include.schema.changes", "false");
    //server_id不要和mysql配置文件不一样,每个实例设置不一样的server_id,
    //分布式环境不建议使用多个实例
    prop.put("database.server.id", "2");
    prop.put("database.server.name", "c_mysql_connector");
    return prop;
}

可以看见kafka中创建了topic

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值