Когда SSL включен, Spark UI не использует HTTPS, но перенаправляет на порт 0 по HTTP - PullRequest
0 голосов
/ 15 апреля 2020

Мы используем Spark 2.0.2 и oop 3.2.1. Я настроил SSL через Had oop без каких-либо проблем. Но у Spark возникли некоторые проблемы.

Без SSL я могу запустить задание и просмотреть интерфейс Spark с прокси через Yarn.

Когда я включаю SSL, я все еще могу запустить задание и запустить до завершения, но я не могу получить доступ к Spark Web UI. Пряжа ссылки на прокси-сервер ApplicationMaster, который не удается с java.net.ConnectException: Connection refused (Connection refused)

Копая в стандартный вывод задания, я вижу строки, подобные этому:

2020-04-14 16:21:57,258 INFO server.ServerConnector: Started ServerConnector@1484944f{HTTP/1.1}{0.0.0.0:40809}
2020-04-14 16:21:57,303 INFO server.ServerConnector: Started ServerConnector@799e8b3a{SSL-HTTP/1.1}{0.0.0.0:36015}
2020-04-14 16:21:57,303 INFO server.Server: Started @5614ms
2020-04-14 16:21:57,304 INFO util.Utils: Successfully started service 'SparkUI' on port 40809.
2020-04-14 16:21:57,309 INFO ui.SparkUI: Bound SparkUI to 0.0.0.0, and started at https://10.10.75.40:40809

Если я вызываю https://10.10.75.40:40809 Я получаю ошибку что это не SSL.

Если я вызываю http://10.10.75.40:40809, мне подают поддельное перенаправление на порт 10.10.75.40:0.

Если я вызываю https://10.10.75.40:36015 и игнорирую сертификат ошибки или, если я звоню через правильное имя хоста, меня перенаправляют на RM :8090/proxy/redirect, который снова выдает ошибку 500.

Моя конфигурация состоит из:

spark.ssl.enabled                 true
spark.ssl.keyStore                /etc/sslmate/STAR.mtv.qxxxxxxxxd.com.jks
spark.ssl.keyStorePassword        _the password_
spark.ssl.trustStore              /etc/sslmate/STAR.mtv.qxxxxxxxxd.com.jks
spark.ssl.trustStorePassword      _the password_
spark.ssl.protocol                TLSv1.2

У меня также есть экспериментировал с попыткой установить порты явно, но безрезультатно:

spark.ssl.ui.port                 4440
spark.ssl.history.port            18480
spark.ui.driver.port              2020
spark.ssl.ui.driver.port          2420

1 Ответ

0 голосов
/ 15 апреля 2020

Я не смог найти это с помощью Apache, но нашел заметку от MapR , которая заставила меня работать:

Spark UI SSL не требуется при запуске Spark на YARN, потому что шифрование обеспечивается протоколом YARN. Чтобы отключить Spark SSL, добавьте spark.ssl.ui.enabled false к файлу spark-defaults.conf на каждом узле искры.

При такой настройке ResourceManager правильно предоставляет интерфейс Spark через URL-адрес типа :8090/proxy/redirect. В stderr я вижу вывод по этим линиям:

2020-04-14 17:36:38,098 INFO server.ServerConnector: Started ServerConnector@7ef020c8{HTTP/1.1}{0.0.0.0:45951}
2020-04-14 17:36:38,098 INFO server.Server: Started @7871ms
2020-04-14 17:36:38,107 INFO util.Utils: Successfully started service 'SparkUI' on port 45951.
2020-04-14 17:36:38,113 INFO ui.SparkUI: Bound SparkUI to 0.0.0.0, and started at http://10.10.31.230:45951
...