Spark执行错误:worker中的Python具有不同的版本

时间:2017-05-30 19:23:52

标签: apache-spark pyspark anaconda

我在独立模式下运行spark,在Windows 8中使用anaconda 3.5,ipython笔记本。

规范,我正在尝试创建环境如下:

import os
import sys
import numpy
spark_path = "D:\spark"
os.environ['SPARK_HOME'] = spark_path
os.environ['HADOOP_HOME'] = spark_path


sys.path.append(spark_path + "/bin")
sys.path.append(spark_path + "/python")
sys.path.append(spark_path + "/python/pyspark/")
sys.path.append(spark_path + "/python/lib")
sys.path.append(spark_path + "/python/lib/pyspark.zip")
sys.path.append(spark_path + "/python/lib/py4j-0.10.4-src.zip")


from pyspark import SparkContext
from pyspark import SparkConf

sc = SparkContext("local", "test")

当我尝试运行以下代码时:

rdd = sc.parallelize([1,2,3])
rdd.count() 

它给了我错误:

  

worker中的Python与驱动程序3.5中的版本不同,版本为3.4,   PySpark无法运行不同的次要版本。请检查   环境变量PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON是   正确设置。

我尝试了this

import os

os.environ["SPARK_HOME"] = "/usr/local/Cellar/apache-spark/2.1.0/" ## Exact anaconda path in "program files"

我尝试了this

但两者都无法解决我的问题。有人可以帮我解决这个问题吗?我在计算机系统配置方面有点非技术性。

非常感谢!

1 个答案:

答案 0 :(得分:1)

首先,如果您正在使用Spark,我建议使用Virtualbox并安装ubuntu 14.04 LTS或CentOs! 即使您正在使用它,使用Windows后端的独立开发应用程序也会变得更加困难! 尽管如此,如果你试图从胜利中连接HIVE Metastore / hadoop,它几乎是不可能的......

我们遇到了与cloudera管理器相同的问题,解决方案是在所有节点上解析相同版本的anaconda,并更改.bashrc中的PATH变量

我认为最好在jupiter之外设置变量! 尝试在windows中为python和spark重新配置你的路径环境!