Flink CDC

1、Flink CDC的介绍:

是一种技术,可以帮助我们实时的捕获数据库中数据的变化,并将这些变化的数据以流的形式传输到其他的系统中进行处理和存储。

flink cdc 的使用的原理:

以mysql进行举例使用,在mysql中会有一个binlog日志,在默认的情况下是关闭的,flink cdc负责监控binlog中的数据变化,从而将变化的数据进行实时的同步。所以在使用flink cdc的前提是需要开启mysql中的binlog功能。

2、Flink CDC的搭建:
        1、开启mysql的binlog功能:
# 1、修改mysql配置文件
vim /etc/my.cnf

# 2、增加以下配置
# 在配置文件中增加二配置
# 需要将配置放在[mysqld]后面
# 打开binlog
log-bin=mysql-bin
# 选择ROW(行)模式
binlog-format=ROW
# 配置MySQL replaction需要定义,不要和canal的slaveId重复
server_id=1


# 3、重启mysql服务
systemctl restart mysqld

# 查看mysql binlog文件
cd /var/lib/mysql
mysql-bin.000001

# 改了配置文件之后,重启MySQL,使用命令查看是否打开binlog模式:
mysql -u 用户名 -p 密码
show variables like 'log_bin';
        2、部署Flink CDC:
# 1、上传jar到flink lib目录下
flink-sql-connector-mysql-cdc-2.2.1.jar

# 2、重启flink集群
yarn application -list
yarn application -kill application_1699579932721_0004
yarn-session.sh -d
        3、使用Flink CDC:
-- 创建flink cdc表,
-- cdc表实时从mysql读取数据的表 -- 无界流
CREATE TABLE students_cdc (
    id BIGINT,
    name STRING,
    age BIGINT,
    gender STRING,
    clazz STRING,
    PRIMARY KEY (id) NOT ENFORCED -- 主键
) WITH (
 'connector' = 'mysql-cdc',
 'hostname' = 'master',
 'port' = '3306',
 'username' = 'root',
 'password' = '123456',
 'database-name' = 'student',
 'table-name' = 'students'
);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值