1.正确maven依赖添加如下:
<dependency>
<groupId>com.alibaba.ververica</groupId>
<artifactId>flink-connector-mysql-cdc</artifactId>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>5.0.0-HBase-2.0</version>
</dependency>
2.使用方式
2.1.Flink CDC监控MySQL binlog日志(注意:这里使用的是com.alibaba.ververica.cdc.connectors.mysql.MySQLSource;)
DebeziumSourceFunction<String> dbSourceFunction = MySQLSource.<String>builder()
.hostname("192.168.126.xxx")
.port(3306)
.databaseList("realtime")
.tableList("realtime.table")
.username("link_name")
.password("xxxxx")
.deserializer(new JsonDeserializationSchema())
.startupOptions(StartupOptions.initial())
.build();
DataStreamSource<String> dbConfigStream = env.addSource(dbSourceFunction);
dbConfigStream.print("db-config-stream: ");
2.2.Phoenix JDBC连接方式
Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
Connection connection = DriverManager.getConnection("jdbc:phoenix:192.168.126.xxx:2181");
PreparedStatement preparedStatement = connection.prepareStatement("SQL");
preparedStatement.execute();
问题:
当使用以下Flink CDC依赖包时,会导致mysql binlog无法正常监控(没有mysql日志输出)
这里使用的com.ververica组下的cdc依赖,而不是com.alibaba.ververica组的依赖
<dependency>
<groupId>com.ververica</groupId>
<artifactId>flink-connector-mysql-cdc</artifactId>
<version>1.12.0</version>
</dependency>
使用com.ververica组下的cdc依赖,导入的包为:com.ververica.cdc.connectors.mysql.MySqlSource;