使用flink cdc 但是启动的时候抛出了下面的异常。请问这是什么原因呢》
我flink用的是1.18.1
flink/lib添加了 mysql-connector-java-8.0.30.jar
flinkcdc版本是3.1.0
finkcdc/lib 添加 了flink-cdc-pipeline-connector-mysql-3.1.0.jar
yaml配置文件如下
################################################################################
# Description: Sync MySQL all tables to MySQL
################################################################################
source:
type: mysql
hostname: 169.254.182.11
port: 3308
username: root
password: 123456
tables: canal-test.\.*
server-id: 5400-5404
server-time-zone: Asia/Shanghai
connection-timeout: 30000
read-timeout: 60000
sink:
type: mysql
url: jdbc:mysql://169.254.182.108:3301/canal-test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=Asia/Shanghai&useSSL=true&dontTrackOpenResources=true&defaultFetchSize=10000&useCursorFetch=true
username: root
password: 123456
table.create.properties.light_schema_change: true
table.create.properties.replication_num: 1
batch-size: 1000
pipeline:
name: Optimized Sync MySQL Database to MySQL
parallelism: 2
异常信息
Exception in thread "main" java.lang.RuntimeException: Cannot find factory with identifier "mysql" in the classpath.
Available factory classes are:
org.apache.flink.cdc.connectors.mysql.factory.MySqlDataSourceFactory
at org.apache.flink.cdc.composer.utils.FactoryDiscoveryUtils.getFactoryByIdentifier(FactoryDiscoveryUtils.java:62)
at org.apache.flink.cdc.composer.flink.FlinkPipelineComposer.createDataSink(FlinkPipelineComposer.java:156)
at org.apache.flink.cdc.composer.flink.FlinkPipelineComposer.compose(FlinkPipelineComposer.java:129)
at org.apache.flink.cdc.cli.CliExecutor.run(CliExecutor.java:71)
at org.apache.flink.cdc.cli.CliFrontend.main(CliFrontend.java:71)