Как увеличить параллельность применения пряжи - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь запустить несколько приложений пряжи на EMR Spark, но я не могу запустить более 5 приложений одновременно.

Я использую следующие конфигурации для Spark Cluster:

Master = r5.2xlarge

Рабочий = r5.12xlarge 384 ГБ ОЗУ 48 виртуальных ядер режим развертывания = кластер

JSON

{
        "Classification":"spark-defaults",
        "ConfigurationProperties":{
          "spark.executor.extraJavaOptions": "-XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+G1SummarizeConcMark -XX:InitiatingHeapOccupancyPercent=35 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:OnOutOfMemoryError='kill -9 %p'",
          "spark.driver.extraJavaOptions": "-XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+G1SummarizeConcMark -XX:InitiatingHeapOccupancyPercent=35 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:OnOutOfMemoryError='kill -9 %p'",
          "spark.scheduler.mode":"FIFO",
          "spark.eventLog.enabled":"true",
          "spark.serializer":"org.apache.spark.serializer.KryoSerializer",
          "spark.dynamicAllocation.enabled":"false",
          "spark.executor.heartbeatInterval":"60s",
          "spark.network.timeout": "800s",
          "spark.executor.cores": "5",
          "spark.driver.cores": "5",
          "spark.executor.memory": "37000M",
          "spark.driver.memory": "37000M",
          "spark.yarn.executor.memoryOverhead": "5000M",
          "spark.yarn.driver.memoryOverhead": "5000M",
          "spark.executor.instances": "17",
          "spark.default.parallelism": "170",
          "spark.yarn.scheduler.reporterThread.maxFailures": "5",
          "spark.storage.level": "MEMORY_AND_DISK_SER",
          "spark.rdd.compress": "true",
          "spark.shuffle.compress": "true",
          "spark.shuffle.spill.compress": "true"
        }
      }

Как увеличить количество параллельно работающих приложений Yarn в EMR Spark?

1 Ответ

0 голосов
/ 14 июля 2019

Посмотрите на интерфейс Yarn, работающий на главном узле кластера.Все ли ЦП и вся память были использованы в кластере?Повышение параллелизма обычно означает, что каждое работающее приложение может использовать только небольшую часть кластера.Кроме того, поскольку вы отключили динамическое распределение исполнителей и установили число исполнителей равным 17, вы, вероятно, сможете запускать только одно искровое приложение за раз.

...