我正试着在我的macbook air上运行pyspark。当我尝试启动它时,我得到了错误:
Exception: Java gateway process exited before sending the driver its port number当sc = SparkContext()在启动时被调用。我已经尝试运行以下命令:
./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?
但这个问题一直没有得到回答。请帮帮我!谢谢。
发布于 2021-04-10 07:06:25
我在使用PySpark时也遇到了同样的错误,并将JAVA_HOME设置为Java11(最初设置为16)。我使用的是MacOS和PyCharm。您可以通过执行echo $JAVA_HOME来检查当前的Java版本。
下面是对我有效的方法。在我的Mac上,我使用了以下homebrew命令,但您可以使用不同的方法来安装所需的Java版本,具体取决于您的操作系统。
# 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。
# 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。
https://stackoverflow.com/questions/31841509
复制相似问题