Дайте на resolver-а на пакети в spark-shell неговия прокси при стартиране
Подайте прокси свойства на JVM на драйвера преди резолюцията на --packages; по-късен код в shell и настройки на 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 се провали, преди shell да стане достъпен. Кодът на приложението, въведен след това, не може да поправи предишното изтегляне. Spark различава опциите за стартиране от програмните настройки; в клиентски режим JVM на драйвера вече съществува, когато кодът на приложението се изпълнява.
Режимът на разгръщане също е важен за spark.driver.extraJavaOptions: драйверът може да работи на друга машина, която се нуждае от свой път до проксито. По-късната API заявка на executor е друг процес и друго място в мрежата; конфигурирането на executor-и не конфигурира непременно резолюцията при стартиране.
Когато опциите за стартиране са налице, но изтеглянето се проваля
Следете името на хоста на хранилището, типа на заявката и първата грешка. Метаданните и артефактите може да идват от няколко хоста. URL на хранилище, съвместим с Maven, не доказва, че Spark чете settings.xml, който използва успешна Maven команда.
Изтеглящият модул на Java трябва да поддържа прокси механизма и изискваното удостоверяване. Свойствата хост/порт не осигуряват всяка схема и измислено свойство http.proxyUsername не става ефективно само защото Java приема името. Дръжте конфигурацията преди стартиране и конкретното неуспешно изтегляне заедно, когато диагностицирате този етап.