Как установить параметр SPARK_LOCAL_DIRS с помощью файла spark-env.sh - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь изменить местоположение искры, записывает временные файлы в. Все, что я нашел в Интернете, говорит об установке этого параметра, установив параметр SPARK_LOCAL_DIRS в файле spark-env.sh, но мне не повезло с изменениями, которые действительно вступили в силу.

Вот что я сделал:

  1. Создан тестовый кластер для 2 рабочих с использованием экземпляров Amazon EC2. Я использую spark 2.2.0 и пакет R sparklyr в качестве внешнего интерфейса. Рабочие узлы запускаются с использованием группы автоматического масштабирования.
  2. Создан каталог для хранения временных файлов в /tmp/jaytest. Есть один из них в каждом работнике и один в мастере.
  3. Поместил в мастер-искру и двух рабочих, перешел к home/ubuntu/spark-2.2.0-bin-hadoop2.7/conf/spark-env.sh и изменил файл так, чтобы он содержал эту строку: SPARK_LOCAL_DIRS="/tmp/jaytest"

Разрешения для каждого из файлов spark-env.sh равны -rwxr-xr-x, а для папок jaytest - drwxrwxr-x.

Насколько я могу судить, это соответствует всем советам, которые я прочитал в Интернете. Однако, когда я загружаю некоторые данные в кластер, они все равно оказываются в /tmp, а не /tmp/jaytest.

Я также пытался установить параметр spark.local.dir в том же каталоге, но тоже не повезло.

Может кто-нибудь подсказать, что мне здесь не хватает?

Редактировать: я запускаю это как отдельный кластер (так как ответ ниже указывает, что правильный параметр для установки зависит от типа кластера).

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Mac env, spark-2.1.0 и spark-env.sh содержат:

export SPARK_LOCAL_DIRS=/Users/kylin/Desktop/spark-tmp

Используя spark-shell, все работает.

Вы использовали правильный формат?

0 голосов
/ 29 августа 2018

В соответствии с документацией spark четко указано, что если вы настроили менеджер Yarn Cluster, то он перезапишет настройку spark-env.sh. Вы можете просто проверить в файле Yarn-env или yarn-site настройки локальной папки dir.

"это будет переопределено переменными среды SPARK_LOCAL_DIRS (Standalone, Mesos) или LOCAL_DIRS (YARN), установленными менеджером кластера." источник - https://spark.apache.org/docs/2.3.1/configuration.html

...