经验总结
flink kafka connect 需要注意的问题
lib 目录jar 不要同时存在多个connector-kafka
$FLINK_HOME/lib/
不要同时存在flink-sql-connector-kafka-1.17.2.jar
和flink-connector-kafka-1.17.2.jar
ERROR
使用sql-client.sh
时或者TableAPI时候会遇到ERROR:
1 2
| [ERROR] Could not execute SQL statement. Reason: java.lang.ClassNotFoundException: org.apache.kafka.clients.consumer.OffsetResetStrategy
|

flink run 时引入多个jar package
这里通过 --classpath
引入一个第三方 jar ,解决依赖问题
多个jar--classpath file:///path_to_jar1:file:///path_to_jar2
1 2 3 4 5 6
| $FLINK_HOME/bin/flink run -p 4 \ -c com.xxx.xxx.xxx.FlinkSQLCmmExecuteByFileJob \ --classpath file:///data/application-flink-job-task-dir/lib/flink-sql-connector-kafka-1.17.2.jar \ /data/application-flink-job-task-dir/lib/flink-table-sql-app-data-commons-start-application-1.0.3-0708-sql-shard.jar \ --job_name "flink-sql-cloudflare-worker-log" \ --execute_sql_file_path sql-dir/flink-sql-cloudflare-woker-log-transform.sql
|
flink sql-client.sh 引入jar or mutil jar
1 2 3 4 5
| # 单个jar 直接指向 $FLINK_HOME/bin/sql-client.sh --jar ./lib/xxxx.jar
# 多个jar 执行jar 所在的parent dir $FLINK_HOME/bin/sql-client.sh -l ./lib-extent/xxxx.jar
|