Geef de pakketresolver van spark-shell zijn proxy bij het starten
Geef de JVM-proxyeigenschappen van het stuurprogramma door vóór de --packages-resolutie; latere shellcode en executor-instellingen kunnen die download missen.
spark-shell --driver-java-options "-Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example -Dhttps.proxyPort=8080" --packages group:artifact:versionBij een client-side start van spark-shell komen deze JVM-opties van het stuurprogramma vóór de afhankelijkheidsresolutie binnen. Vervang het voorbeeld-eindpunt en group:artifact:version door de bedoelde waarden met opties die de geïnstalleerde Spark-versie ondersteunt. Java-hostnaam en -poort zijn afzonderlijke eigenschappen. Voor toegestane openbare afhankelijkheidsdownloads biedt de lijst met HTTP-proxy’s kandidaten voor die velden.
Gebruik deze plaatsing wanneer --packages mislukt voordat de shell beschikbaar is. Applicatiecode die daarna wordt ingevoerd, kan de eerdere download niet herstellen. Spark onderscheidt startopties van programmatische instellingen; in clientmodus bestaat de JVM van het stuurprogramma al wanneer applicatiecode draait.
Ook de implementatiemodus is belangrijk voor spark.driver.extraJavaOptions: het stuurprogramma kan op een andere machine draaien, die zijn eigen pad naar de proxy nodig heeft. De latere API-aanvraag van een executor is een ander proces en een andere netwerklocatie; executors configureren configureert niet noodzakelijk de resolutie bij het opstarten.
Wanneer startopties aanwezig zijn maar de download mislukt
Volg de hostnaam van de repository, het aanvraagtype en de eerste fout. Metadata en artefacten kunnen van meerdere hosts komen. Een Maven-compatibele repository-URL bewijst niet dat Spark de settings.xml leest die een geslaagde Maven-opdracht gebruikt.
De Java-downloader moet het proxy-mechanisme en de vereiste authenticatie ondersteunen. Host/poort-eigenschappen bieden niet elk schema, en een verzonnen http.proxyUsername-eigenschap wordt niet effectief alleen omdat Java de naam accepteert. Houd de configuratie vóór het starten en de specifieke mislukte download bij elkaar bij het diagnosticeren van deze fase.