Spark + Python - Java网关进程在向驱动程序发送端口号之前退出



为什么我的浏览器屏幕上出现这个错误,

: Java网关进程退出向驱动程序发送端口号args = ('Java网关进程在向驱动程序发送端口号之前已退出',)message = 'Java网关进程在向驱动程序发送端口号之前退出'

#!/Python27/python
print "Content-type: text/html; charset=utf-8"
print
# enable debugging
import cgitb
cgitb.enable()
import os
import sys
# Path for spark source folder
os.environ['SPARK_HOME'] = "C:Apachespark-1.4.1"
# Append pyspark to Python Path
sys.path.append("C:Apachespark-1.4.1python")
from pyspark import SparkContext
from pyspark import SparkConf
print ("Successfully imported Spark Modules")
# Initialize SparkContext
sc = SparkContext('local')
words = sc.parallelize(["scala","java","hadoop","spark","akka"])
print words.count()

我遵循了这个例子。

有什么好主意吗?

检查Error行前面是否有任何额外的信息:

Error: Could not create the Java Virtual Machine.

在我的例子中,它是我在配置文件中设置的一个无效选项。内存(初始堆大小)不允许有逗号:例如3.5g是不可接受的,而3500m是可接受的。

我有一个类似的问题,最终当我查看我的测试输出时,有来自$SPARK_HOME/bin/spark-class的错误消息,带有行号。

在跟踪了受影响的行上发生的事情之后,发现在我的环境变量中$JAVA_HOME值周围有单引号,这导致了路径扩展的问题(由于某种原因,假设它是相对于我的主目录,而不是绝对路径)

虽然这可能不是您真正的问题,但值得检查输出的开头,以获得额外的信息,以帮助缩小根本原因。

我的朋友遇到了和你一样的问题。我检查了她的电脑,发现她有两个版本的Java。我卸载了旧的,并重写了$JAVA_HOME值。问题解决了

我从昨天开始就一直在努力解决这个问题。我刚刚解决了它。

我做的正是这个链接(https://sparkbyexamples.com/pyspark/pyspark-exception-java-gateway-process-exited-before-sending-the-driver-its-port-number/)告诉我们的:

(1) Set PYSPARK_SUBMIT_ARGS;

(2) Install Open JDK;

(3)设置JAVA_HOME环境变量。

我不会试图向你解释这些步骤,因为链接可以比我做得更好(你只需要按照步骤)。

顺便说一下,如果你正在学习pyspark,它是一个很好的资源。

最新更新