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

En un arrencament de spark-shell al costat client, aquestes opcions de JVM del controlador arriben abans de la resolució de dependències. Substituïu el punt final il·lustratiu i group:artifact:version pels valors volguts amb opcions que admeti la versió de Spark instal·lada. El nom d'amfitrió i el port de Java són propietats separades. Per a baixades públiques de dependències permeses, la llista de proxys HTTP ofereix candidats per a aquests camps.

Feu servir aquesta col·locació quan --packages falla abans que el shell estigui disponible. El codi d'aplicació introduït després no pot reparar la baixada anterior. Spark distingeix les opcions d'arrencada de la configuració programàtica; en mode client la JVM del controlador ja existeix quan s'executa el codi d'aplicació.

El mode de desplegament també importa per a spark.driver.extraJavaOptions: el controlador pot executar-se en una altra màquina, que necessita el seu propi camí cap al proxy. La petició d'API posterior d'un executor és un altre procés i una altra ubicació de xarxa; configurar els executors no configura necessàriament la resolució d'arrencada.

Quan hi ha opcions d'arrencada però la baixada falla

Seguiu el nom d'amfitrió del repositori, el tipus de petició i el primer error. Les metadades i els artefactes poden venir de diversos amfitrions. Un URL de repositori compatible amb Maven no demostra que Spark llegeixi el settings.xml que fa servir una ordre Maven correcta.

El descarregador de Java ha de suportar el mecanisme de proxy i l'autenticació necessària. Les propietats d'amfitrió/port no cobreixen tots els esquemes, i una propietat http.proxyUsername inventada no esdevé efectiva només perquè Java accepti el nom. Mantingueu juntes la configuració prèvia a l'arrencada i la baixada fallida concreta en diagnosticar aquesta etapa.

Articles relacionats