Flink上部署jar包运行报错解决【flink-1.12.3】
前言:本地IDEA运行没有问题,部署到flink上就报错,无法启动。如果你的JOB任务是DataStreamAPI写的不会有这个问题,我出现的问题是job任务是用tableAPI写的。我pom文件的flink版本是1.13.0部署的flink版本是flink-1.12.3多嘴一句,我看网上的pom文件配置五花八门。啥样的都有,实在不知道该选择哪种。有的说需要打包的时候需要进行<scope&g
前言:本地IDEA运行没有问题,部署到flink上就报错,无法启动。如果你的JOB任务是DataStreamAPI写的不会有这个问题,我出现的问题是job任务是用tableAPI写的。
我pom文件的flink版本是1.13.0
部署的flink版本是flink-1.12.3
多嘴一句,我看网上的pom文件配置五花八门。啥样的都有,实在不知道该选择哪种。有的说需要打包的时候需要进行<scope>provided</scope>,反正我是没有。调试后,本地和flink上都可以用。
出现的几种问题描述:
Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.factories.SerializationSchemaFactory
Caused by: org.apache.flink.runtime.JobException: Recovery is suppressed by NoRestartBackoffTimeStrategy
还有某些jar包说找不到的,我就不列举了。
解决:修改flink的lib包里的内容,table的jar都删掉,留下这样的
然后修改flink的配置文件flink-conf.yaml
flink会优先使用jar包中的依赖
现在基本可以了,直接部署启动吧。
最后附上我的pom文件配置,可能不足,供大家参考
<!--flink 依赖-->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<!--flink-SQL-->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-planner-blink_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-api-java-bridge_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-common</artifactId>
<version>${flink.version}</version>
</dependency>
<!--flink连接器-->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.2.6</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-jdbc_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
版本的话我在上面已经说了。
更多推荐
所有评论(0)