Дайте резолверу пакетів spark-shell його проксі під час запуску
Передайте властивості проксі JVM драйвера до розвʼязання --packages; пізніший код оболонки й налаштування executor можуть пропустити це завантаження.
spark-shell --driver-java-options "-Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example -Dhttps.proxyPort=8080" --packages group:artifact:versionПід час клієнтського запуску spark-shell ці параметри JVM драйвера надходять до розвʼязання залежностей. Замініть ілюстративну кінцеву точку та group:artifact:version потрібними значеннями, використовуючи параметри, які підтримує встановлена версія Spark. Імʼя хоста й порт Java — окремі властивості. Для дозволених завантажень публічних залежностей список HTTP-проксі пропонує кандидатів для цих полів.
Використовуйте це розміщення, коли --packages зазнає невдачі до того, як оболонка стане доступною. Код застосунку, введений пізніше, не може виправити попереднє завантаження. Spark розрізняє параметри запуску та програмні налаштування; у клієнтському режимі JVM драйвера вже існує, коли виконується код застосунку.
Режим розгортання також важливий для spark.driver.extraJavaOptions: драйвер може працювати на іншій машині, якій потрібен власний шлях до проксі. Пізніший запит API виконавця — це інший процес та інше мережеве розташування; налаштування виконавців не обовʼязково налаштовує розвʼязання під час запуску.
Коли параметри запуску є, але завантаження не вдається
Стежте за іменем хоста репозиторію, типом запиту та першою помилкою. Метадані й артефакти можуть надходити з кількох хостів. URL репозиторію, сумісний з Maven, не доводить, що Spark читає settings.xml, який використовує успішна команда Maven.
Завантажувач Java має підтримувати механізм проксі та потрібну автентифікацію. Властивості хоста/порту не забезпечують кожної схеми, а вигадана властивість http.proxyUsername не стає дієвою лише тому, що Java приймає це імʼя. Тримайте разом конфігурацію до запуску та конкретне невдале завантаження, діагностуючи цей етап.