我有一个Flink应用程序并生成一个包含所有依赖项的胖jar我可以使用flink run
命令在远程集群上成功提交它。试图在IntelliJ IDE上提交应用程序,我遇到了以下错误:
Caused by: org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot load user class: MyFlink$1
ClassLoader info: URL ClassLoader:
file: '/tmp/blobStore-0fe289f8-b35b-4666-8402-67f9f6a22f55/cache/blob_3fd776b533f2268b6cf7ef1cc62b187bc4513c99' (valid JAR)
Class not resolvable through given classloader.
我将依赖项打包在一个jar文件中,并以createRemoteEnvironment
方法传递它。
StreamExecutionEnvironment env = StreamExecutionEnvironment.createRemoteEnvironment(
"jobmanager", 6123, 2,
"FlinkProcessing_dependencies.jar"
);
如何降低此错误?
注意:除了依赖项之外还传递所有用户定义的类,它运行成功,但我不想在每次更改时都传递类jar并导出jar文件类!