使用spark的api读取mongo版本不兼容问题

spark版本2.1.1
mongo版本3.4.6
话不多说了,搞了一天,结论这样的:
如果使用spark的api读取mongo有NotFoundClass或者NoSuchMethod等此类错误,一般着手两个方面去考虑:
1、集群环境没有完整的jar包。
2、jar包冲突或jar包与集群的版本不兼容
解决方案:
SparkConf文件中
在这里插入图片描述
在conf文件指向的extlib目录下添加如下jar包:
bson-3.4.2.jar
mongodb-driver-3.4.2.jar
mongodb-driver-core-3.4.2.jar
mongo-java-driver-3.4.2.jar
mongo-spark-connector_2.11-2.1.1.jar
注意:在pom文件中下载mongo-spark的会下载它的依赖 mongo-java-driver-XXX.jar,将这个版本的jar一起拷进集群,同时mongo-java-driver-XXX.jar又会依赖其他的jar,需要将所有用到的jar一起拷贝进集群配置的extlib目录。

猜你喜欢

转载自blog.csdn.net/weixin_38653290/article/details/90400324