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.Net.SocketException: Network Is Unreachable
发布时间:2023/07/16 浏览次数:963 分类:Java
-
今天我们就来讨论一下Java编程时出现java.net.SocketException: Network is unreachable异常的可能原因及解决方法。Java中出现java.net.SocketException: Network is unreachable的可能原因及解决方案
Java 错误 Java.Net.ConnectException: Connection Timed Out
发布时间:2023/07/16 浏览次数:235 分类:Java
-
本篇文章将重点介绍如何使用此包进行基本的网络调用以及可能面临和解决的错误。在 Java 中使用 java.net 进行网络调用 进行网络调用是 Java 开发人员每天面临的最重要的事情之一。
Java 中错误 Attempt to Invoke Virtual Method on a Null Object Reference
发布时间:2023/07/16 浏览次数:948 分类:Java
-
本篇文章介绍如何解决 Java 中的 Attempt to invoke virtual method on a null object reference 错误。Java 中 Attempt to invoke virtual method on a null object reference 错误
Java 错误 Java.Security.InvalidKeyException: Illegal Key Size
发布时间:2023/07/15 浏览次数:644 分类:Java
-
本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。
Java 错误 Java.SQL.SQLException: Access Denied for User Root@Localhost
发布时间:2023/07/15 浏览次数:165 分类: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 中 Java.Net.BindException: Address Already in Use: Bind 错误
发布时间:2023/07/15 浏览次数:250 分类:Java
-
本篇文章介绍了 Java 中的 java.net.BindException:Address already in use: Bind 错误。修复Java 中的 java.net.BindException:Address already in use: Bind
Java 中错误 Unsupported Major Minor Version
发布时间:2023/07/14 浏览次数:133 分类: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 浏览次数:274 分类: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 浏览次数:868 分类:Java
-
当安装了运行时环境时,即 Java 找不到主 java.dll 文件时,可能会出现“Could not find Java SE Runtime Environment”错误。 本篇文章介绍如何解决 Java 中的“Could not find Java SE Runtime Environment”错误。