Как я могу отправить несколько заданий в автономном кластере Spark? - PullRequest
1 голос
/ 29 марта 2019

У меня есть машина с Apache Spark. Машина 64GB RAM 16 Cores.

Моя цель в каждой искровой работе

1. Download a gz file from a remote server
2. Extract gz to get csv file (1GB max)
3. Process csv file in spark and save some stats.

В настоящее время я отправляю одну работу для каждого полученного файла, выполнив следующие действия:

./spark-submit --class ClassName --executor-cores 14 --num-executors 3 --driver-memory 4g --executor-memory 4g jar_path

И дождитесь завершения этого задания, а затем начните новое задание для нового файла.

Теперь я хочу использовать 64 ГБ ОЗУ, выполняя несколько заданий параллельно.

Я могу назначить 4 г ОЗУ для каждого задания и хотеть ставить его в очередь, когда уже запущено достаточно заданий.

Как мне этого добиться?

1 Ответ

2 голосов
/ 29 марта 2019

Вы должны отправить несколько заданий из разных тем:

https://spark.apache.org/docs/latest/job-scheduling.html#scheduling-within-an-application

и настройте свойства пула (установите для schedulingMode значение FAIR):

https://spark.apache.org/docs/latest/job-scheduling.html#configuring-pool-properties

Из Spark Doc:

https://spark.apache.org/docs/latest/spark-standalone.html#resource-scheduling:

Режим автономного кластера в настоящее время поддерживает только простой FIFO Планировщик между приложениями. Тем не менее, чтобы разрешить несколько одновременных пользователи, вы можете контролировать максимальное количество ресурсов каждый Приложение будет использовать. По умолчанию он получит все ядра в кластер, который имеет смысл, если вы просто запустите одно приложение на время. Вы можете ограничить количество ядер, установив spark.cores.max ...

По умолчанию он использует все ресурсы для одного задания. Нам нужно определить ресурсы так, чтобы они также были свободны для выполнения других заданий. Ниже приведена команда, которую вы можете использовать для отправки искрового задания.

bin/spark-submit --class classname --master spark://hjvm1:6066 --deploy-mode cluster  --driver-memory 500M --conf spark.executor.memory=1g --conf spark.cores.max=1 /data/test.jar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...