Spark下:Java gateway process exited before sending the driver its port number等问题
如题,贴出问题: raise Exception("Java gateway process exited before sending the driver its port number")Exception: Java gateway process exited before sending the driver its port number那么大家各种搜索,
如题,贴出问题:
raise Exception("Java gateway process exited before sending the driver its port number")
Exception: Java gateway process exited before sending the driver its port number
那么大家各种搜索,但是问题不一定解决了。所以我总结一下:
1.首先,大家根据下面的链接访问,看看自己哪一步不对
链接:https://blog.csdn.net/qq_28626909/article/details/81632634
注意 pyspark和py4j的包
2.查看路径,特别是环境变量下的路径,windows下还要注意pycharm中的路径,;linux下注意自己配置环境变量的路径(我的在/etc/profile)。注意python在pycharm中的路径是PYTHONPATH,而不是python_home。大家仔细检查一下,贴图
3.在profile中,特别注意jdk路径和spark的关系
首先排查jdk,通过两个命令(linux和windows一样):
java -version 和 javac ,两个都不能出问题。有问题的赶紧配环境变量
4.scala的问题
我们在spark的官网上可以找到spark和scala的对应关系(大家自己搜索),我这里放出我的安装包,大家可以用,我亲测没问题。
链接:https://pan.baidu.com/s/1G-oapQdAOEK_kkH86QD_dw 密码:c4pu
5.如果以上都没问题,那大家很可能和我之前的问题很相似,看看大家能不能解决:
我们先看windows下的:
我在CSDN中当时找到过一个大神的解决方案,他是在代码中加入了jdk的路径,具体做法如下:
import os
os.environ['JAVA_HOME']='D:\Java\jdk1.8'
也有人是在linux下出现的问题,但是这个对linux不一定有用(至少我试了没用....)
在linux下,大家根据我之前博客可以看到,windows中的测试代码和linux是不同的。为什么呢?
先看代码:
conf=SparkConf().setMaster('local').setAppName('word_count')
sc = SparkContext(conf=conf)
他和windows中local[*]是不同的。具体我听我师傅说是因为linux下是能直接生成SparkContext的,所以调用全部资源就报错。
网络上也有问指出,向上面那样加入PATHONPATH到path中可以,如下:
import os
os.environ['PATHONPATH']='你的路径'
谢谢大家,完啦~
更多推荐
所有评论(0)