Как мы можем ограничить использование VCores во время Spark-submit - PullRequest
0 голосов
/ 19 июня 2019

Я пишу приложение для структурированной потоковой передачи Spark, в котором данные, обрабатываемые Spark, должны быть переданы в корзину s3.

Это моя среда разработки.

Hadoop 2.6.0-cdh5.16.1

Spark версия 2.3.0.cloudera4

Я хочу ограничить использование VCores

На данный момент я использовал spark2-submit, чтобы указать параметр как --conf spark.cores.max = 4.Однако после отправки задания я заметил, что задание заняло максимально доступные VCores из кластера (в моем кластере 12 VCores)

Следующее задание не запускается из-за недоступности VCores.

лучший способ ограничить использование VCores для каждого задания?

На данный момент я делаю некоторые обходные пути: Я создал Resource Pool в кластере и назначил некоторый ресурс как

Min Resources: 4 виртуальных ядра и 8 ГБ памяти

. Эти пулы используются для назначения задания запуска для ограничения использования VCores.

e.g. spark2-submit --class org.apache.spark.SparkProgram.rt_app --master yarn --deploy-mode cluster --queue rt_pool_r1 /usr/local/abc/rt_app_2.11-1.0.jar

Я хочу ограничить использование VCores без каких-либо обходных путей.

Я также пытался с

spark2-shell --num-executors 1 --executor-cores 1 --jars /tmp/elasticsearch-hadoop-7.1.1.jar

и ниже это наблюдение.enter image description here

1 Ответ

0 голосов
/ 19 июня 2019

Вы можете использовать опцию «--executor-cores», которая назначит количество ядер каждому вашему исполнителю. может относиться 1 и 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...