使用自定义Python的Spark-on-Yarn在客户端mod中失败

2021-11-29 23:14:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我们曾经提交我们自己的Python(conda)环境,其中spark-submit(以yarn为主),如here所述。我们这样做是因为集群中默认的Python2仍然是Python2。你知道吗

几周前,这停止了工作-但有趣的是只有在client模式下cluster模式仍然有效。你知道吗

作品:

spark-submit --master yarn --deploy-mode cluster \
    --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./anaconda3/venv/bin/python \
    --conf spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON=./anaconda3/venv/bin/python \
    --archives /path/to/venv.tar.gz#anaconda3 \
    my_spark_program.py

不起作用:

PYSPARK_DRIVER_PYTHON=/path/to/venv/bin/python \
spark-submit --master yarn --deploy-mode client \
    --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./anaconda3/venv/bin/python \
    --conf spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON=./anaconda3/venv/bin/python \
    --archives /path/to/venv.tar.gz#anaconda3 \
    my_spark_program.py

同样,启动交互式PySpark Shell(使用上述选项)也不起作用。你知道吗

抛出的错误是:Driver和Worker中的Python版本不匹配-驱动程序的Python版本为3.6,而Worker的Python版本为2.7。所以在--deploy-mode client中似乎没有正确设置Worker环境?你知道吗

我们有Spark版本2.3.0和Yarn(Hadoop)版本2.6.0。你知道吗

有没有什么线索可以说明为什么它会停止工作?你知道吗