【发布时间】:2017-07-04 05:38:11
【问题描述】:
我正在尝试在 Zeppelin 和 python3 (3.5) 中针对 Spark 2.1.0 运行 pyspark。我已经启动了 pyspark shell 并使用 python3 运行,但是切换到 Zeppelin 连接到同一个本地集群给出:
Exception: Python in worker has different version 3.5 than that in driver 2.7, PySpark cannot run with different minor versions
我已将默认的 spark-env.sh 修改如下:(为简洁起见,省略未修改的行)
SPARK_LOCAL_IP=127.0.0.1
SPARK_MASTER_HOST="localhost"
SPARK_MASTER_WEBUI_PORT=8080
SPARK_MASTER_PORT=7077
SPARK_DAEMON_JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
export PYSPARK_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
export PYSPARK_DRIVER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/ipython
凝视./bin/pyspark,一切都很好。
zeppelin-site.xml 中的 Zeppelin 配置已被修改,仅将 ui 端口从 8080 移至 8666。“zeppelin-env.sh”已修改如下:(仅显示 mods/additions)
export MASTER=spark://127.0.0.1:7077
export SPARK_APP_NAME=my_zeppelin-mf
export PYSPARK_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
export PYSPARK_DRIVER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/ipython
export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
我尝试过使用 Anaconda,但 python 3.6 目前正在使用 Spark 产生问题。此外,我已经使用了上述配置设置的一堆组合,但没有成功。
在配置zeppelin.pyspark.python 中引用了一个设置,默认为python,但从文档中不清楚如何/在哪里将其调整为 python3。为了帮助消除 OSX 细节,我也能够在 LinuxMint 18.1 上复制此故障。
- 在 OSX 10.11.6 上本地运行
- Spark 是 2.1.0-bin-hadoop2.7
- Zeppelin 0.7.0-bin-all
因此,我一直在浏览 Zeppelin 文档和 Internet,试图找到正确的配置设置以使 Zeppelin 作为 3.5 驱动程序运行。希望我错过了一些明显的东西,但我似乎无法找到这个。希望有人成功地做到了这一点并且可以帮助识别我的错误。
谢谢。
【问题讨论】:
标签: python-3.x apache-spark pyspark python-3.5 apache-zeppelin