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

时间:2015-08-05 07:21:51

标签: java python apache-spark

为什么我在浏览器屏幕上出现此错误

  

: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:\Apache\spark-1.4.1"

# Append pyspark to Python Path
sys.path.append("C:\Apache\spark-1.4.1\python")

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()

我遵循了example

我有什么想法可以解决它?

3 个答案:

答案 0 :(得分:2)

在错误行之前检查是否有任何额外信息:

Error: Could not create the Java Virtual Machine.

在我的情况下,这是我在conf文件中设置的无效选项。内存(初始堆大小)不允许​​使用逗号:例如3.5g是不可接受的,而3500m是。

答案 1 :(得分:1)

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

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

虽然这可能不是您的确切问题,但有必要检查输出的开头是否有额外信息,以帮助缩小根本原因。

答案 2 :(得分:1)

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