Я пишу приложение для структурированной потоковой передачи 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
и ниже это наблюдение.