gpt4 book ai didi

python - 如何更新 Mac 上 PyCharm 中运行的 pyspark 使用的 Java keystore ?

转载 作者:行者123 更新时间:2023-12-01 09:27:35 26 4
gpt4 key购买 nike

我正在 Mac 上运行 PyCharm 2018.2 并执行 pyspark 程序。 Spark 已安装在 virtualenv 中。

我需要在我的 pyspark 脚本中使用外部 jar(特别是 AWS s3 jar),因此我使用以下内容来声明 Maven 依赖项:

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages "org.apache.hadoop:hadoop-aws:2.7.3" pyspark-shell'
conf = SparkConf() \
.setMaster("local[2]") \
.setAppName("pyspark-unittests") \
.set("spark.sql.parquet.compression.codec", "snappy")

sc = SparkContext(conf=conf)

在我的家庭网络上,这效果很好。

在我的公司网络上,我和互联网之间有一个 SSL 检查器,它将 HTTPS 请求上的 SSL 证书交换到 Maven Central。

这会导致以下错误消息:

Server access error at url https://repo1.maven.org/maven2/joda-time/joda-time/maven-metadata.xml (javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target)

我知道这是因为 pyspark 执行的 JVM 不信任 SSL 检查器签署 HTTPS 响应的 SSL 证书。

我有正在签署 HTTPS 响应的中间证书的 .cer 副本。

在此特定情况下使用哪个 JVM(在 PyCharm 中运行的 python/pyspark)以及如何更新该 JVM 信任存储中的证书?

最佳答案

在调试器中运行程序,并在 sc = SparkContext(conf = conf) 后暂停,然后运行 ​​ps aux | grep java 你就会知道哪个jvm正在被用于此

然后您应该设置相同的 keystore 。知道正确的 JDK 后,使用下面的链接设置 keyStore

How to properly import a selfsigned certificate into Java keystore that is available to all Java applications by default?

关于python - 如何更新 Mac 上 PyCharm 中运行的 pyspark 使用的 Java keystore ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50243130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com