suspende processos após a atualização para o Spark 2.1.0 no AWS EMR

1

Estou com um problema em que um exectutor está criando tarefas que nunca terminam, fazendo com que todo o processo seja interrompido. As tarefas normalmente concluídas duram cerca de 4 segundos, mas duram uma hora e meia. Isso não acontece consistentemente, eu diria em torno de 1/3 do tempo.

Eu tenho 32 nós que são de c3.8xlarge, então eles têm Núcleos: 32 Memória: 60 GiB Armazenamento: 640 SSD GB

Eu tenho RDDs de várias fontes que estão sendo processadas e combinadas. A tarefa parece ficar paralisada como uma parte consistente do DAG, embora eu não tenha verificado sua localização o suficiente para ter certeza de que 100% deles são sempre o mesmo local. No ponto em que observei, todos os RDDs foram combinados em um.

Alguns sintomas estranhos que notei:

  • São apenas tarefas em um executor que estão ficando presas. Existem algumas tarefas desse executor que terminaram, mas acabam com 32 tarefas paradas.

  • As tarefas paradas não têm tempo de inicialização na interface do usuário. 0ms atraso do agendador, tempo de desserização da tarefa de 0 ms, tempo de leitura aleatório de 0 ms. Existe apenas o tempo de execução do executor.

  • Um dump de encadeamento do executor emperrado mostra o executor de execução de tarefa do executor (32-63), em vez do trabalhador de início de tarefa do Executor normal (0-31). Estes estão todos no estado de thread “WAITING”. O estágio eventualmente chegará ao ponto em que todas as tarefas, exceto a de 32, foram concluídas, de modo que, enquanto elas estiverem presas, todas as outras tarefas ainda serão criadas e terminarão normalmente.

Isso começou a acontecer quando atualizei do Spark 1.6.1 para 2.1.0. Houve noproblem com Spark 1.6.1.

    
por user127875 21.04.2017 / 19:51

0 respostas