首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pyspark: Exception: Java网关进程在向驱动程序发送其端口号之前退出

Pyspark: Exception: Java网关进程在向驱动程序发送其端口号之前退出
EN

Stack Overflow用户
提问于 2015-08-06 03:45:42
回答 38查看 181.3K关注 0票数 81

我正试着在我的macbook air上运行pyspark。当我尝试启动它时,我得到了错误:

代码语言:javascript
运行
复制
Exception: Java gateway process exited before sending the driver its port number

当sc = SparkContext()在启动时被调用。我已经尝试运行以下命令:

代码语言:javascript
运行
复制
./bin/pyspark
./bin/spark-shell
export PYSPARK_SUBMIT_ARGS="--master local[2] pyspark-shell"

无济于事。我也看过这里:

Spark + Python - Java gateway process exited before sending the driver its port number?

但这个问题一直没有得到回答。请帮帮我!谢谢。

EN

Stack Overflow用户

发布于 2021-04-10 07:06:25

我在使用PySpark时也遇到了同样的错误,并将JAVA_HOME设置为Java11(最初设置为16)。我使用的是MacOS和PyCharm。您可以通过执行echo $JAVA_HOME来检查当前的Java版本。

下面是对我有效的方法。在我的Mac上,我使用了以下homebrew命令,但您可以使用不同的方法来安装所需的Java版本,具体取决于您的操作系统。

代码语言:javascript
运行
复制
# Install Java 11 (I believe 8 works too)
$ brew install openjdk@11

# Set JAVA_HOME by assigning the path where your Java is
$ export JAVA_HOME=/usr/local/opt/openjdk@11

注意:如果你是使用自制软件安装的,并且需要找到路径的位置,你可以执行$ brew --prefix openjdk@11,它应该会返回如下的路径:/usr/local/opt/openjdk@11

此时,我可以从终端运行我的PySpark程序-然而,我的集成开发环境(PyCharm)仍然有相同的错误,直到我全局更改了JAVA_HOME变量。

要更新该变量,首先通过在命令行上运行echo $SHELL检查您使用的是zsh还是bash shell。对于zsh,您将编辑~/.zshenv文件,对于bash,您将编辑~/.bash_profile

代码语言:javascript
运行
复制
# open the file
$ vim ~/.zshenv
OR
$ vim ~/.bash_profile

# once inside the file, set the variable with your Java path, then save and close the file
export JAVA_HOME=/usr/local/opt/openjdk@11

# test if it was set successfully
$ echo $JAVA_HOME
/usr/local/opt/openjdk@11

完成这一步后,我还可以通过我的PyCharm集成开发环境运行PySpark。

票数 4
EN
查看全部 38 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31841509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档