Date al resolver dei pacchetti di spark-shell il suo proxy all'avvio
Fornite le proprietà proxy JVM del driver prima della risoluzione di --packages; il codice della shell e le impostazioni degli esecutori successivi possono mancare quel download.
spark-shell --driver-java-options "-Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example -Dhttps.proxyPort=8080" --packages group:artifact:versionIn un avvio di spark-shell lato client, queste opzioni JVM del driver arrivano prima della risoluzione delle dipendenze. Sostituite l'endpoint illustrativo e group:artifact:version con i valori voluti usando opzioni supportate dalla versione di Spark installata. Il nome host e la porta Java sono proprietà separate. Per i download pubblici di dipendenze consentiti, la lista dei proxy HTTP offre candidati per quei campi.
Usate questa collocazione quando --packages fallisce prima che la shell sia disponibile. Il codice applicativo inserito dopo non può riparare il download precedente. Spark distingue le opzioni di avvio dalle impostazioni programmatiche; in modalità client la JVM del driver esiste già quando il codice applicativo viene eseguito.
Anche la modalità di distribuzione conta per spark.driver.extraJavaOptions: il driver può girare su un'altra macchina, che ha bisogno del proprio percorso verso il proxy. La successiva richiesta API di un esecutore è un altro processo e un'altra posizione di rete; configurare gli esecutori non configura necessariamente la risoluzione all'avvio.
Quando le opzioni di avvio ci sono ma il download fallisce
Seguite il nome host del repository, il tipo di richiesta e il primo errore. Metadati e artefatti possono provenire da più host. Un URL di repository compatibile con Maven non dimostra che Spark legga il settings.xml usato da un comando Maven riuscito.
Il downloader Java deve supportare il meccanismo proxy e l'autenticazione richiesta. Le proprietà host/porta non coprono ogni schema, e una proprietà http.proxyUsername inventata non diventa efficace solo perché Java accetta il nome. Tenete insieme la configurazione pre-avvio e il download fallito specifico quando diagnosticate questa fase.