今天测试pyspark时,出现了当上述报错。我是在udemy上课的时候按照课程步骤来安装材料如下图:
就一直卡在pyspark测试那边。
lecturer安装的东西有
(依次
java15(lectuer装的15,我装的最新的JDK16.01)>>Java SE Development Kit 16 - Downloads (oracle.com)
hadoop2.71:winutils >>GitHub - steveloughran/winutils: Windows binaries for Hadoop versions (built from the git commit ID used for the ASF relase)
python我本来就有的,3.9.1
)
装了pip install pyspark
pip install py4j
然后确认环境配置没有问题,但是还是报错Java gateway process exited
为了排查问题我打开了报错地方line 108文件java_gateway.py
,看不太懂但是确实看到 108 行
if not os.path.isfile(conn_info_file):
raise Exception("Java gateway process exited before sending its port number")
好像问题是和spark有点关系
又查看下报错
感觉大部分原因是和java有关系
最后一筹莫展之际,看到stackflow一篇文章
上面深度分析了很多可能情况和原因,解决我的问题的就一句话
就是JAVA 版本没装好,可能是16的问题,也可能装的时候我忘记按一个选项了,所以我把JAVA卸了重新装了8,问题就解决了。
在这里我提醒下,很多人出错是因为环境配置有问题,什么字母大小写不注意,空格问题,文件夹写错,就没办法找到路径。注意下你的路径!!!
这边有个文章参考下:
(3条消息) windows+linux下安装spark_懒骨头707-CSDN博客
(3条消息) Spark下:Java gateway process exited before sending the driver its port number等问题_懒骨头707-CSDN博客
反正我重装JAVA低版本后就成功运行pyspark了,改天来把stackflow的讨论再仔细看一下!具体那个java_gateway.py报错到底是什么原理,还请大神指教~