Spark no YARN muito menos vcores usados

Estou usando o Spark em um cluster YARN (HDP 2.4) com as seguintes configurações:

1 Masternode64 GB de RAM (50 GB utilizáveis)24 núcleos (19 núcleos utilizáveis)5 Slavenodes64 GB de RAM (50 GB utilizáveis) cada24 núcleos (19 núcleos utilizáveis) cadaConfigurações de FIOmemória de todos os contêineres (de um host): 50 GBtamanho mínimo do contêiner = 2 GBtamanho máximo do contêiner = 50 GBvcores = 19mínimo de vcores / container = 1máximo de vcores / container = 19

Quando executo meu aplicativo spark com o comandospark-submit --num-executors 30 --executor-cores 3 --executor-memory 7g --driver-cores 1 --driver-memory 1800m ... O YARN cria 31 contêineres (um para cada processo executor + um processo driver) com as seguintes configurações:

Corrigir: Contêiner mestre com 1 núcleo e ~ 1800 MB de RAMCorrigir: 30 contêineres escravos com ~ 7 GB de RAM cadaMAS INCORRETO: cada contêiner escravo é executado apenas com1 núcleo em vez de 3, de acordo com a interface do usuário do YARN ResourceManager (mostra apenas 31 de 95 em uso, em vez de 91 = 30 * 3 + 1), veja a captura de tela abaixo

Minha pergunta aqui: Por que ospark-submit parâmetro--executor-cores 3 não tem efeito?

questionAnswers(2)

yourAnswerToTheQuestion