Java 错误 Gateway Process Exited Before Sending Its Port Number
本篇文章介绍了 Java 中 Java gateway process exited before sending the driver its port number 错误
Java gateway process exited before sending the driver its port number 错误
PySpark 用于使用 Python API 编写 Spark 应用程序,并提供用于在分布式环境中交互式分析数据的 shell。
在 PySpark Shell、spark-submit 甚至是从pyder 中运行 PySpark 应用程序时,可能会出现错误 Pyspark:异常:Java 网关进程在向驱动程序发送其端口号之前退出。
如果您想在 Windows、Mac 或 Linux 上运行 PySpark,则必须在计算机上安装 Java,因为 PySpark 通常被视为作为 Python 框架运行。 出现此错误的原因是您没有设置 JAVA_HOME 或 PYSPARK_SUBMIT_ARGS。
以下是解决 Pyspark: Exception: Java gateway process exited before sending the driver its port number
的方案。
安装 Open JDK 或 Oracle JDK
您一定想知道为什么需要 Java 来运行 PySpark。 因为Spark基本上是用Scala编写的,但后来业界采用了它的API,所以PySpark是使用Py4J为Python发布的,因为Py4J是一个Java库,这就是为什么需要Java来运行PySpark。
Py4J 集成到 PySpark 中,允许 Python 与 JVM 对象交互。
我们可以使用以下命令来安装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
安装JDK后,您需要设置JAVA_HOME路径并按照以下步骤操作。
- 找到你的JDK路径; 如果安装了 Java,则路径将为 /usr/lib/jvm/java-1.x.x-openjdk。
-
现在运行以下命令来设置 JAVA_HOME 路径。
export JAVA_HOME=/usr/lib/jvm/java-1.x.x-openjdk
- 该命令将设置 JAVA_HOME 路径以验证运行 echo $JAVA_HOME,显示 Java 安装路径。
以上命令适用于 Windows 的 Linux 环境。 安装程序可以从这里下载:
- OpenJDK
- Oracle
要在 Windows 上设置 JAVA_HOME,请按照以下步骤操作。
- 在 Windows 搜索栏中搜索环境变量。
- 打开编辑系统环境变量。
- 单击环境变量按钮打开环境变量。
- 在系统变量中,单击新建。
- 该名称将为 JAVA_HOME。
- 该值为安装路径,例如 C:\Program Files\Java\jdk-17.0.2。
- 输入名称和值后,单击“确定”并应用更改。
设置 PYSPARK_SUBMIT_ARGS
大多数情况下,当未设置 PYSPARK_SUBMIT_ARGS 时,会出现错误 Pyspark: Exception: Java gateway process exited before Sending the driver its port number 。 使用以下命令设置 PYSPARK_SUBMIT_ARGS。
export PYSPARK_SUBMIT_ARGS="--master local[3] pyspark-shell"
上述命令将使用主设备设置 PYSPARK_SUBMIT_ARGS。 遵循这两种解决方案即可解决问题。
相关文章
Java 错误 Java.Security.InvalidKeyException: Illegal Key Size
发布时间:2023/07/15 浏览次数:98 分类:Java
-
本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。
Java 错误 Java.SQL.SQLException: Access Denied for User Root@Localhost
发布时间:2023/07/15 浏览次数:71 分类:Java
-
本篇文章介绍如何解决 Java 中的 java.sql.SQLException: Access Denied for user 'root'@'localhost' 错误。修复 Java 中的 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
Java 中错误 Unsupported Major Minor Version
发布时间:2023/07/14 浏览次数:68 分类:Java
-
出现 Unsupported Major.minor version 错误或 Java.lang.UnsupportedClassVersionError 的原因是运行时 JDK 较低,编译时 JDK 较高。 本篇文章介绍如何解决Java中不支持的major.minor版本。
Java 错误 Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8
发布时间:2023/07/14 浏览次数:200 分类:Java
-
在使用IntelliJ for Java时,无法编译Java程序是一个常见的问题。 本教程提供了此错误的解决方案。Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8 错误
Java 中 Could Not Find Java SE Runtime Environment 错误
发布时间:2023/07/14 浏览次数:149 分类:Java
-
当安装了运行时环境时,即 Java 找不到主 java.dll 文件时,可能会出现“Could not find Java SE Runtime Environment”错误。 本篇文章介绍如何解决 Java 中的“Could not find Java SE Runtime Environment”错误。
修复 Java 错误 java.io.IOException: Stream Closed
发布时间:2023/07/14 浏览次数:121 分类:Java
-
本篇文章我们将找出在 Java 编程中编码时产生 java.io.IOException: Stream Closed 错误的可能原因。 我们还将借助代码示例探索两种可能的解决方案来修复此错误。
Java 中错误 The Superclass Javax.Servlet.Http.HttpServlet Was Not Found on the
发布时间:2023/07/14 浏览次数:88 分类:Java
-
本篇文章介绍如何解决在 Java 中的 javax.servlet.http.HttpServlet" was not found on the Java Build Path 的问题。Java 中 javax.servlet.http.HttpServlet" was not found on the Java Build Path 当我们在 Eclipse 中编写第一个 JSP 代码
Java中 the method is undefined for the type 错误
发布时间:2023/07/14 浏览次数:102 分类:Java
-
本篇文章介绍了 Java 的 the method is undefined for the type 错误。Java 错误 method is undefined for the type 每当我们尝试调用当前类中未定义的方法时,就会出现该类型未定义方法的错误。
Java 错误 Not on FX Application Thread
发布时间:2023/07/14 浏览次数:140 分类:Java
-
本篇文章介绍了 Java 中的 Not on FX application thread 错误。Java 中的 Not on FX application thread 当我们尝试从不是 FX 线程且应从 FX 线程调用的线程调用方法时,会出现错误 Not on FX application thread