Spark worker中的python版本与Spark驱动程序之间不匹配

时间:2019-01-09 17:17:25

标签: python-3.x apache-spark pyspark jupyter-notebook

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

如何更改工作程序中的python版本? (我在独立模式下使用Spark)

3 个答案:

答案 0 :(得分:0)

在工作程序节点上安装正确的python版本(Python3),然后在工作程序上将python3添加到path,然后将PYSPARK_PYTHON环境变量设置为“ python3”,现在通过在终端上运行“ pyspark”来检查pyspark是运行python2还是3。 。这将打开一个python shell。注意python shell顶部的python版本。

答案 1 :(得分:0)

如果设置了相应的变量,但错误仍然存​​在,则在master和worker中编辑或创建./conf/spark-defaults.conf文件(复制spark-defaults.conf.template),并添加以下内容行在那里:

spark.pyspark.python /usr/bin/python3

然后重新启动主服务器和工作服务器。

答案 2 :(得分:0)

可能是因为您的系统python指向3.5。理想情况下,您应该在运行脚本之前将PATH变量设置为指向PySpark Python,例如PATH =您的anaconda或cloudera bin路径:$ PATH,所有内容将自动同步。不要使用系统python执行pyspark作业,因为驱动程序和执行程序可能会出现不一致的情况。