异常:worker中的Python版本与驱动程序3.5中的Python版本不同,PySpark无法以其他次要版本运行。请检查环境变量PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON是否正确设置。
如何更改工作程序中的python版本? (我在独立模式下使用Spark)
答案 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作业,因为驱动程序和执行程序可能会出现不一致的情况。