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

Ved en klientstart af spark-shell kommer disse JVM-indstillinger for driveren før afhængighedsopløsningen. Erstat det illustrative endepunkt og group:artifact:version med de tilsigtede værdier ved hjælp af indstillinger, som den installerede Spark-version understøtter. Java-værtsnavn og -port er separate egenskaber. For tilladte offentlige afhængighedsdownloads tilbyder listen over HTTP-proxyer kandidater til disse felter.

Brug denne placering, når --packages fejler, før shellen bliver tilgængelig. Applikationskode, der indtastes bagefter, kan ikke reparere den tidligere download. Spark skelner mellem opstartsindstillinger og programmatiske indstillinger; i klienttilstand findes driverens JVM allerede, når applikationskoden kører.

Udrulningstilstanden betyder også noget for spark.driver.extraJavaOptions: driveren kan køre på en anden maskine, som har brug for sin egen vej til proxyen. En executors senere API-anmodning er en anden proces og et andet netværkssted; konfiguration af executors konfigurerer ikke nødvendigvis opstartsopløsningen.

Når opstartsindstillingerne er der, men downloadet fejler

Følg lagerets værtsnavn, anmodningstypen og den første fejl. Metadata og artefakter kan komme fra flere værter. En Maven-kompatibel lager-URL beviser ikke, at Spark læser den settings.xml, som en vellykket Maven-kommando bruger.

Javas downloader skal understøtte proxy-mekanismen og den krævede godkendelse. Vært/port-egenskaber giver ikke alle skemaer, og en opdigtet http.proxyUsername-egenskab bliver ikke effektiv, blot fordi Java accepterer navnet. Hold opstartskonfigurationen og det konkrete fejlede download sammen, når du diagnosticerer dette trin.

Relaterede artikler