spark-shell --driver-java-options "-Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example -Dhttps.proxyPort=8080" --packages group:artifact:version

La o lansare spark-shell pe partea de client, aceste opțiuni JVM ale driverului sosesc înainte de rezolvarea dependențelor. Înlocuiți punctul final ilustrativ și group:artifact:version cu valorile dorite folosind opțiuni acceptate de versiunea Spark instalată. Numele de gazdă și portul Java sunt proprietăți separate. Pentru descărcări publice de dependențe permise, lista de proxy-uri HTTP oferă candidați pentru acele câmpuri.

Folosiți această plasare când --packages eșuează înainte ca shell-ul să fie disponibil. Codul aplicației introdus ulterior nu poate repara descărcarea anterioară. Spark distinge opțiunile de lansare de setările programatice; în modul client JVM-ul driverului există deja când rulează codul aplicației.

Și modul de implementare contează pentru spark.driver.extraJavaOptions: driverul poate rula pe altă mașină, care are nevoie de propria cale către proxy. Cererea API ulterioară a unui executor este alt proces și altă locație de rețea; configurarea executorilor nu configurează neapărat rezolvarea la pornire.

Când există opțiuni de lansare dar descărcarea eșuează

Urmați numele de gazdă al depozitului, tipul cererii și prima eroare. Metadatele și artefactele pot veni de la mai multe gazde. Un URL de depozit compatibil Maven nu dovedește că Spark citește settings.xml folosit de o comandă Maven reușită.

Descărcătorul Java trebuie să accepte mecanismul proxy și autentificarea necesară. Proprietățile gazdă/port nu acoperă fiecare schemă, iar o proprietate http.proxyUsername inventată nu devine eficientă doar pentru că Java acceptă numele. Păstrați împreună configurația dinaintea lansării și descărcarea eșuată concretă când diagnosticați această etapă.

Articole similare