使用 Anononda 设置 Pyspark

Setting up Pyspark with Ananonda

我有一个 4 节点 spark 集群。我已经在所有节点上安装了 Anaconda 3.5,并且 python 安装位置已添加到所有节点的 PATH 中。但是,当我尝试 运行 一个 pyspark 应用程序时,它似乎没有正确拾取 Anaconda,它给了我以下错误消息。

 Caused by: org.apache.spark.api.python.PythonException: Traceback (most recent call last):
File "/opt/cloudera/parcels/CDH-5.7.0-1.cdh5.7.0.p0.45/lib/spark/python/pyspark/worker.py", line 64, in main
("%d.%d" % sys.version_info[:2], version))
Exception: Python in worker has different version 2.6 than that in driver 3.5, PySpark cannot run with different minor versions

driver 和 worker 上的 $PATH 指向 Anaconda 安装,但是没有其他用于 pyspark 或....

的环境变量

这是怎么回事?

p.s。我的集群是 运行ning RedHat。

您是否设置了 $PYSPARK_PYTHON 环境变量?您可以在 运行 pyspark 时直接执行此操作,尽管在 $SPARK_CONF_DIR/spark-env.sh 中填写所有环境变量可能更容易。例如,这是我的:

$ cat $SPARK_CONF_DIR/spark-env.sh
PYSPARK_PYTHON=python
PYSPARK_DRIVER_PYTHON=ipython

有关完整的设置列表,请参阅 the documentation