Мы использовали нашу собственную среду Python (conda) с spark-submit
(с yarn
в качестве мастера), как описано, например, здесь . Мы делаем это, потому что Python по умолчанию в кластере все еще 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 (с указанными выше параметрами) не работает.
выдается ошибка: версии Python в драйвере и рабочем не совпадают - драйвер, как сообщается, имеет версию Python 3.6, в то время как рабочие имеют версию Python 2.7. Таким образом, похоже, что рабочая среда неправильно настроена в --deploy-mode client
?
У нас есть версия Spark 2.3.0
и версия Yarn (Hadoop) 2.6.0
.
Любые указатели относительнопочему это могло перестать работать?