Considerações sobre a execução de várias etapas em paralelo ao enviar trabalhos para a Amazon EMR - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Considerações sobre a execução de várias etapas em paralelo ao enviar trabalhos para a Amazon EMR

Executar várias etapas paralelamente ao enviar trabalhos para a Amazon EMR exige decisões preliminares sobre o planejamento de recursos e as expectativas em relação ao comportamento do cluster. Isso é abordado em detalhes aqui.

  • As etapas executadas em paralelo podem ser concluídas em qualquer ordem, mas as etapas pendentes na fila passam para o estado de execução na ordem em que são enviadas.

  • Ao selecionar um nível de simultaneidade da etapa para o cluster, você deve considerar se o tipo de instância de nó primário atende ou não aos requisitos de memória das workloads do usuário. O processo executor da etapa principal é executado no nó primário de cada etapa. A execução de várias etapas em paralelo exige mais memória e CPU utilização do nó primário do que executar uma etapa por vez.

  • Para obter um agendamento complexo e o gerenciamento de recursos de etapas simultâneas, você pode usar recursos de YARN agendamento, como ou. FairScheduler CapacityScheduler Por exemplo, você pode usar o FairScheduler com um conjunto queueMaxAppsDefault para impedir que mais de um determinado número de trabalhos seja executado por vez.

  • O nível de simultaneidade da etapa está sujeito às configurações dos gerenciadores de recursos. Por exemplo, se YARN estiver configurado com apenas um paralelismo de5, você só poderá ter cinco YARN aplicativos em execução em paralelo, mesmo que StepConcurrencyLevel esteja definido como. 10 Para obter mais informações sobre a configuração de gerenciadores de recursos, consulte Configurar aplicativos no Amazon EMR Release Guide.

  • Você não pode adicionar uma etapa com ActionOnFailure outra CONTINUE enquanto o nível de simultaneidade de etapas do cluster for maior que 1.

  • Se o nível de simultaneidade de etapas do cluster for maior que 1, o atributo ActionOnFailure da etapa não será ativado.

  • Se o nível de simultaneidade de etapas do cluster for 1, mas houver várias etapas em execução, TERMINATE_CLUSTER ActionOnFailure poderá ser ativada, mas não CANCEL_AND_WAIT ActionOnFailure será. Esse caso extremo ocorre quando o nível de simultaneidade da etapa do cluster é maior que 1, mas diminui durante a execução de várias etapas.

  • Você pode usar o escalonamento EMR automático para aumentar e diminuir a escala com base nos YARN recursos para evitar a contenção de recursos. Para obter mais informações, consulte Como usar a escalabilidade automática com uma política personalizada para grupos de instâncias no Amazon EMR Management Guide.

  • Quando você diminui o nível simultâneo da etapa, EMR permite que todas as etapas em execução sejam concluídas antes de reduzir o número de etapas. Se os recursos estiverem esgotados porque o cluster está executando muitas etapas simultâneas, recomendamos cancelar as etapas em execução manualmente para liberar recursos.