Aplicativo Spark Kill Running

101

Eu tenho um aplicativo Spark em execução, onde ocupa todos os núcleos, onde meus outros aplicativos não receberão nenhum recurso.

Fiz uma pesquisa rápida e as pessoas sugeriram usar YARN kill ou / bin / spark-class para matar o comando. No entanto, estou usando a versão CDH e / bin / spark-class nem existe, o aplicativo YARN kill também não funciona.

insira a descrição da imagem aqui

Alguém pode comigo com isso?

B.Mr.W.
fonte
1
se você estiver em um env de teste: ps aux | grep spark -> obtenha o pid do spark e
elimine
@eliasah "test env", para mim o trabalho já está distribuído ..
B.Mr.W.
1
você quer matar um trabalho na produção ????
eliasah de
1
@eliasah Sim ... um trabalho de produção foi suspenso devido à falha em um host.
B.Mr.W.

Respostas:

213
  • copie após o Id do aplicativo do programador do Spark, por exemplo application_1428487296152_25597
  • conecte-se ao servidor que iniciou o trabalho
  • yarn application -kill application_1428487296152_25597
Gérald Reinhart
fonte
1
Como você chega ao agendador de faísca?
makansij
É o mesmo que o web UI?
Makansij
@Hunle Você pode obter o ID de Spark History UIou YARN RUNNINGapps UI ( yarn-host: 8088 / cluster / apps / RUNNING ) ou da Spark Job Web UIURL ( yarn-host: 8088 / proxy / application_ <timestamp> _ <id> )
CᴴᴀZ
2
pode-se matar vários de uma vez: yarn application -kill application_1428487296152_25597 application_1428487296152_25598 ... ??
user3505444
7

Pode ser demorado obter todos os IDs de aplicativos do YARN e eliminá-los um por um. Você pode usar um loop Bash for para realizar essa tarefa repetitiva com rapidez e eficiência, conforme mostrado abaixo:

Elimine todos os aplicativos no YARN que estão no estado ACEITO:

for x in $(yarn application -list -appStates ACCEPTED | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done

Elimine todos os aplicativos no YARN que estão no estado RUNNING:

for x in $(yarn application -list -appStates RUNNING | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done

Anil Kumar
fonte
1

Isso pode não ser uma solução ética e preferencial, mas ajuda em ambientes onde você não pode acessar o console para encerrar o trabalho usando o comando do aplicativo yarn.

Passos são

Vá para a página mestra do aplicativo do trabalho de faísca. Clique na seção de empregos. Clique no estágio ativo do trabalho ativo. Você verá o botão "matar" ao lado do estágio ativo.

Isso funciona se os estágios seguintes dependerem do estágio em execução no momento. Embora marque o trabalho como "Morto pelo usuário"

Sachin Gaikwad
fonte