El proceso de Java Gateway se cerró antes de enviar su número de puerto
Este tutorial demuestra el error Se cerró el proceso de puerta de enlace de Java antes de enviar al controlador su número de puerto
en Java.
Se cerró el proceso de puerta de enlace de Java antes de enviar al controlador su número de puerto
PySpark
se usa para escribir aplicaciones Spark
utilizando las API de Python y proporciona un shell para analizar de forma interactiva los datos en un entorno distribuido.
Al ejecutar la aplicación PySpark
en PySpark Shell
, spark-submit
, o incluso desde spyder
, puede ocurrir el error Pyspark: Excepción: el proceso de puerta de enlace de Java se cerró antes de enviar al controlador su número de puerto
.
Si desea ejecutar PySpark
en su Windows, Mac o Linux, debe instalar Java en su máquina porque generalmente se considera que PySpark
funciona como un marco de Python. El motivo de que se produzca este error es que no ha configurado JAVA_HOME
o PYSPARK_SUBMIT_ARGS
.
Estas son las soluciones para resolver el error Pyspark: Excepción: el proceso de puerta de enlace de Java se cerró antes de enviar al controlador su número de puerto
.
Instale Open JDK u Oracle JDK
Debe preguntarse por qué necesita Java para ejecutar PySpark
. Es porque Spark
está escrito básicamente en Scala
, pero luego la industria adoptó su API, por lo que PySpark
se lanzó para Python usando Py4J
, ya que Py4J
es una biblioteca de Java, por eso Java es necesario para ejecutar PySpark
.
Py4J
está integrado en PySpark
, lo que permite que Python interactúe con objetos JVM.
Podemos usar el siguiente comando para instalar OpenJDK.
# Installing Open JDK
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-11-jdk
# Installing Oracle JDK
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Una vez que el JDK está instalado, debe configurar la ruta JAVA_HOME
y seguir los pasos a continuación.
-
Encuentre su ruta JDK; si Java está instalado, la ruta será
/usr/lib/jvm/java-1.x.x-openjdk
. -
Ahora ejecute el siguiente comando para establecer la ruta
JAVA_HOME
.export JAVA_HOME=/usr/lib/jvm/java-1.x.x-openjdk
-
El comando establecerá la ruta
JAVA_HOME
para verificar ejecutarecho $JAVA_HOME
, mostrando la ruta de instalación de Java.
Los comandos anteriores son para los entornos Linux para Windows. Los instaladores se pueden descargar desde aquí:
Para configurar JAVA_HOME
en Windows, siga los pasos a continuación.
-
Busque
Variables de entorno
en la barra de búsqueda de Windows. -
Abra
Editar las variables de entorno del sistema
. -
Haga clic en el botón
Variables de entorno
para abrir las variables de entorno. -
En las variables del sistema, haga clic en
Nuevo
. -
El nombre será
JAVA_HOME
. -
El valor será la ruta de instalación, por ejemplo,
C:\Program Files\Java\jdk-17.0.2
. -
Después de poner el nombre y el valor, haga clic en
Aceptar
yAplicar cambios
.
Establecer PYSPARK_SUBMIT_ARGS
La mayoría de las veces, el error “Pyspark: Excepción: el proceso de puerta de enlace de Java se cerró antes de enviar al controlador su número de puerto” ocurre cuando PYSPARK_SUBMIT_ARGS
no está configurado. Use el siguiente comando para configurar PYSPARK_SUBMIT_ARGS
.
export PYSPARK_SUBMIT_ARGS="--master local[3] pyspark-shell"
El comando anterior configurará PYSPARK_SUBMIT_ARGS
usando el maestro
. Seguir ambas soluciones resolverá el problema.
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook