Ge spark-shells paketupplösare dess proxy vid start
Ange drivrutinens JVM-proxyegenskaper före --packages-upplösningen; senare shell-kod och executor-inställningar kan missa den nedladdningen.
spark-shell --driver-java-options "-Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example -Dhttps.proxyPort=8080" --packages group:artifact:versionVid en klientstart av spark-shell kommer dessa JVM-alternativ för drivrutinen före beroendeupplösningen. Ersätt den illustrativa slutpunkten och group:artifact:version med de avsedda värdena med alternativ som den installerade Spark-versionen stöder. Java-värdnamn och -port är separata egenskaper. För tillåtna offentliga beroenden nedladdningar erbjuder listan med HTTP-proxyer kandidater för dessa fält.
Använd den här placeringen när --packages misslyckas innan skalet blir tillgängligt. Applikationskod som matas in efteråt kan inte reparera den tidigare nedladdningen. Spark skiljer startalternativ från programmatiska inställningar; i klientläge finns drivrutinens JVM redan när applikationskoden körs.
Även distributionsläget spelar roll för spark.driver.extraJavaOptions: drivrutinen kan köra på en annan maskin, som behöver sin egen väg till proxyn. En executors senare API-begäran är en annan process och en annan nätverksplats; att konfigurera executors konfigurerar inte nödvändigtvis upplösningen vid start.
När startalternativen finns men nedladdningen misslyckas
Följ förrådets värdnamn, begärantypen och det första felet. Metadata och artefakter kan komma från flera värdar. En Maven-kompatibel förråds-URL bevisar inte att Spark läser den settings.xml som ett lyckat Maven-kommando använder.
Javas nedladdare måste stödja proxy-mekanismen och den nödvändiga autentiseringen. Värd/port-egenskaper ger inte varje schema, och en påhittad http.proxyUsername-egenskap blir inte effektiv bara för att Java accepterar namnet. Håll startkonfigurationen och den specifika misslyckade nedladdningen tillsammans när du diagnostiserar det här steget.