【问题标题】:Mismatch between python version in Spark worker and Spark driverSpark worker 和 Spark 驱动程序中的 python 版本不匹配
【发布时间】:2019-06-04 12:46:27
【问题描述】:
异常:worker 中的 Python 2.7 版本与驱动程序 3.5 中的版本不同,PySpark 无法使用不同的次要版本运行。请检查环境变量 PYSPARK_PYTHON 和 PYSPARK_DRIVER_PYTHON 是否设置正确。
如何更改工作人员中的 python 版本? (我在独立模式下使用 Spark)
【问题讨论】:
标签:
python-3.x
apache-spark
pyspark
jupyter-notebook
【解决方案1】:
在worker节点上安装正确的python版本(Python3),并在worker上将python3添加到路径,然后将PYSPARK_PYTHON环境变量设置为“python3”,现在通过在终端上运行“pyspark”来检查pyspark是运行python2还是3 .这将打开一个 python shell。注意 python shell 顶部的 python 版本。
【解决方案2】:
如果设置了相应的变量,但错误仍然存在,则在master和worker中编辑或创建./conf/spark-defaults.conf文件(复制spark-defaults.conf.template)并添加以下内容行在那里:
spark.pyspark.python /usr/bin/python3
然后重启master和worker。
【解决方案3】:
一定是因为你的系统python指向3.5。理想情况下,您应该在运行脚本之前将 PATH 变量设置为指向 PySpark Python,例如 PATH=your anaconda 或 cloudera bin path:$PATH,并且所有内容都将自动同步。不要使用系统 python 来执行 pyspark 作业,因为驱动程序和执行程序可能会出现不一致。