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.
Alguém pode comigo com isso?
apache-spark
yarn
pyspark
B.Mr.W.
fonte
fonte
Respostas:
yarn application -kill application_1428487296152_25597
fonte
web UI
?Spark History UI
ou YARNRUNNING
apps UI ( yarn-host: 8088 / cluster / apps / RUNNING ) ou daSpark Job Web UI
URL ( yarn-host: 8088 / proxy / application_ <timestamp> _ <id> )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
fonte
https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Application_State_API
COLOQUE http: // {endereço http rm: porta} / ws / v1 / cluster / apps / {appid} / state
fonte
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"
fonte