You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by GeGe <gg...@163.com> on 2020/09/25 09:17:52 UTC
回复: flink读取mongo数据本地部署成功,flink-cluster部署找不到类
您好!
十分感谢您的回答!之前有进行尝试,但是还是没有解决这个问题。最后觉得应该是jar包不能读取到,所以把那个jar包单独放到了flink的lib下面,运行成功了。还没有找到一劳永逸解决的办法,不过十分感谢您的回复,谢谢~
Best wishes,
Gege
| |
Ge Ge
Software Engineer
|
|
gg13871077440@163.com
|
签名由网易邮箱大师定制
在2020年09月25日 16:01,zilong xiao<ac...@gmail.com> 写道:
有可能是依赖冲突了,可以尝试用maven shade jar看看
GeGe <gg...@163.com> 于2020年9月25日周五 下午3:54写道:
您好!
我用flink从mongo读取数据,在本地运行成功,但是部署到本地flink-cluster中却报错:
java.lang.NoClassDefFoundError: com/mongodb/MongoClient
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethod(Class.java:2128)
at
org.apache.flink.api.java.ClosureCleaner.usesCustomSerialization(ClosureCleaner.java:164)
at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:89)
at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:71)
at
org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.clean(StreamExecutionEnvironment.java:1901)
at
org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.addSource(StreamExecutionEnvironment.java:1614)
at
org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.addSource(StreamExecutionEnvironment.java:1571)
at
org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.addSource(StreamExecutionEnvironment.java:1553)
at
com.test.flink.service.MongoFlinkMainService.main(MongoFlinkMainService.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:288)
at
org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:198)
at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:149)
at
org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:699)
at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:232)
at
org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:916)
at
org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:992)
at
org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:992)
Caused by: java.lang.ClassNotFoundException: com.mongodb.MongoClient
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at
org.apache.flink.util.FlinkUserCodeClassLoader.loadClassWithoutExceptionHandling(FlinkUserCodeClassLoader.java:61)
at
org.apache.flink.util.FlinkUserCodeClassLoader.loadClass(FlinkUserCodeClassLoader.java:48)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 24 more
之前得到的数据是org.bson.Document格式,但是报错:找不到Document,所以就换成了String类型。现在报错的类也是在同一个jar包下:mongo-driver-java-3.8.2.jar
,换了各种版本,解压maven的jar包查看也有这个jar包。现在就是不知道为什么找不到这个jar包下的任何类。
请求各位大神帮帮忙~~非常非常感谢~~
Best wishes,
Gege
| |
Ge Ge
Software Engineer
|
|
gg13871077440@163.com
|
签名由网易邮箱大师定制