Дайте резолверу пакетов 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 принимает это имя. Держите вместе конфигурацию до запуска и конкретную неудачную загрузку при диагностике этого этапа.