我尝试了几种方法: 1)设置env Vars
export PYSPARK_DRIVER_PYTHON=/python_path/bin/python
export PYSPARK_PYTHON=/python_path/bin/python
不行。我敢肯定PYSPARK_DRIVER_PYTHON PYSPARK_PYTHON env设置成功使用:
env | grep PYSPARK_PYTHON
我想使用pyspark
/python_path/bin/python
作为起始python解释器
但工人开始使用:
python -m deamon
我不希望将默认python链接到/ python_path / bin / python 这可能会影响其他开发人员,bcz默认python和/ python_path / bin / python版本不同,并且都在生产中使用。
同时设置spark-env.sh不起作用:
spark.pyspark.driver.python = / python_path / bin中/蟒 spark.pyspark.python = / python_path / bin中/蟒
启动驱动程序时会出现一些警告日志,如:
conf / spark-env.sh:第63行: spark.pyspark.driver.python = / python_path / bin / python:没有这样的文件或目录 conf / spark-env.sh:第64行: spark.pyspark.python = / python_path / bin / python:没有这样的文件或目录
答案 0 :(得分:0)
1)检查python目录的权限。也许Spark没有正确的权限。尽量做到:sudo chmod -R 777 /python_path/bin/python
2)Spark documentation说:
属性spark.pyspark.python在设置时优先。
因此,请尝试在spark.pyspark.python
中设置conf/spark-defaults.conf
。
3)此外,如果您使用具有多个节点的群集,则需要检查Python是否安装在每个节点上的正确目录中,因为您不知道工作人员将在何处启动。
4)Spark将使用系统PATH上可用的第一个Python解释器,因此像解决方法一样,您可以在PYTHON变量中设置python的路径。