Dele al resolutor de paquetes de spark-shell su proxy en el arranque
Proporcione las propiedades de proxy de la JVM del controlador antes de la resolución de --packages; el código de shell y la configuración de ejecutores posteriores pueden perder esa descarga.
spark-shell --driver-java-options "-Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example -Dhttps.proxyPort=8080" --packages group:artifact:versionEn un arranque de spark-shell del lado cliente, estas opciones de JVM del controlador llegan antes de la resolución de dependencias. Sustituya el punto de conexión ilustrativo y group:artifact:version por los valores previstos usando opciones que admita la versión de Spark instalada. El nombre de host y el puerto de Java son propiedades separadas. Para descargas públicas de dependencias permitidas, la lista de proxies HTTP ofrece candidatos para esos campos.
Use esta ubicación cuando --packages falle antes de que el shell esté disponible. El código de aplicación introducido después no puede reparar la descarga anterior. Spark distingue las opciones de arranque de la configuración programática; en modo cliente la JVM del controlador ya existe cuando se ejecuta el código de aplicación.
El modo de despliegue también importa para spark.driver.extraJavaOptions: el controlador puede ejecutarse en otra máquina, que necesita su propia ruta al proxy. La solicitud de API posterior de un ejecutor es otro proceso y otra ubicación de red; configurar los ejecutores no configura necesariamente la resolución de arranque.
Cuando hay opciones de arranque pero la descarga falla
Siga el nombre de host del repositorio, el tipo de solicitud y el primer error. Los metadatos y artefactos pueden venir de varios hosts. Una URL de repositorio compatible con Maven no demuestra que Spark lea el settings.xml que usa un comando Maven correcto.
El descargador de Java debe admitir el mecanismo de proxy y la autenticación requerida. Las propiedades de host/puerto no cubren todos los esquemas, y una propiedad http.proxyUsername inventada no se vuelve efectiva solo porque Java acepte el nombre. Mantenga juntos la configuración previa al arranque y la descarga fallida concreta al diagnosticar esta etapa.