无法将SSL和.pem配置的Spark和Scala 2.11连接到MongoDB

时间:2018-10-03 00:07:32

标签: mongodb scala apache-spark

从scala和spark应用程序连接到Mongodb时遇到问题,尽管我在C#上成功完成了。

Unable to resolve NULL driver for [Illuminate\Mail\TransportManager].

我搜索了办公mongodb驱动器文档,但是每个版本的文档都大不相同,而且所有文档都不正确。您能否为与Scala 2.11和Spark 2.3的连接提供建议?我的mongodb产品使用.pem文件配置。

非常感谢! 特林

1 个答案:

答案 0 :(得分:0)

Spark <-> MongoDB的SSL配置不是很好的文档。 本质上,您需要将truststore和keystore配置添加到驱动程序和executor配置,请参阅https://jira.mongodb.org/browse/SPARK-115

因此,您需要将该配置添加到您的spark-submit命令中,例如: --conf "spark.executor.extraJavaOptions=-Djavax.net.ssl.trustStore=path_to_trustStore -Djavax.net.ssl.trustStorePassword=trustPassword -Djavax.net.ssl.keyStore=path_to_keyStore -Djavax.net.ssl.keyStorePassword=keyPassword"

您需要将crt(可能是.pem的第一部分)添加到密钥库中,例如:

keytool -alias mongodb -importcert -trustcacerts -file mongodb.crt -keystore path_to_keyStore -storepass keyPassword

如果您找到更好的解决方案,请告诉我