Как мне обновить хранилище ключей Java, используемое pyspark, запущенным в PyCharm на Mac? - PullRequest
0 голосов
/ 09 мая 2018

Я запускаю PyCharm 2018.2 на Mac и запускаю программу pyspark. Искра была установлена ​​в virtualenv.

Мне нужно использовать внешние jar (в частности, jar-файлы AWS s3) в моем скрипте pyspark, поэтому я использую следующее для объявления зависимости 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, который обменивает SSL-сертификаты по HTTPS-запросам в 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)

Я знаю, что это потому, что сертификаты SSL, с которыми инспектор SSL подписал ответ HTTPS, не являются доверенными для JVM, выполняемой pyspark.

У меня есть .cer копии промежуточных сертификатов, которые подписывают ответ HTTPS.

Какая JVM используется в этом конкретном случае (python / pyspark работает в PyCharm) и как я могу обновить сертификаты в хранилище доверенных сертификатов этой JVM?

1 Ответ

0 голосов
/ 09 мая 2018

Запустите программу в отладчике и сделайте паузу после sc = SparkContext(conf = conf), а затем запустите ps aux | grep java, и вы узнаете, какой jvm используется для этого

Тогда вы должны настроить хранилище ключей для того же. После того, как вы знаете правильный JDK, используйте ссылку ниже для настройки хранилища ключей

Как правильно импортировать самоподписанный сертификат в хранилище ключей Java, которое по умолчанию доступно всем приложениям Java?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...