В режиме mesos (но применимо к другим кластерным развертываниям) я хотел бы использовать распакованную папку spark-x.x.x-bin-hadoopx.x
, которая существует локально на каждом рабочем узле, чтобы получить 2 преимущества:
- избегайте копирования
spark-x.x.x-bin-hadoopx.x.tar.gz
в песочницу каждого конвейера (диск будет стоить 230 МБ, пока не будет удалена завершенная структура)
- сэкономить несколько секунд времени декомпрессии
spark-x.x.x-bin-hadoopx.x.tar.gz
при запуске каждого конвейера
Однако, похоже, спарк не поддерживает это по умолчанию. Когда я попробовал это, установив export SPARK_EXECUTOR_URI="/opt/spark/spark-2.3.1-bin-hadoop2.7.tar.gz"
в моем spark-env.sh
, я получил
cp: omitting directory '/opt/spark/spark-2.3.1-bin-hadoop2.7'
Failed to fetch '/opt/spark/spark-2.3.1-bin-hadoop2.7': Failed to copy with command 'cp '/opt/spark/spark-2.3.1-bin-hadoop2.7' '/tmp/mesos/slaves/b86f2f0b-5ded-4ccb-867c-35c251b1af19-S19/frameworks/b86f2f0b-5ded-4ccb-867c-35c251b1af19-0021/executors/driver-20181114003103-1114/runs/e68942d4-5bdc-443c-a629-0569cfaa8cd6/spark-2.3.1-bin-hadoop2.7'', exit status: 256
Failed to synchronize with agent (it's probably exited)
Есть ли способ использовать распакованный мусорный бак?