Spark Kill 실행 애플리케이션


101

다른 애플리케이션에 리소스가 할당되지 않는 모든 코어를 차지하는 Spark 애플리케이션이 실행 중입니다.

나는 몇 가지 빠른 조사를 수행했으며 사람들은 YARN kill 또는 / bin / spark-class를 사용하여 명령을 죽일 것을 제안했습니다. 그러나 CDH 버전을 사용하고 있으며 / bin / spark-class는 전혀 존재하지 않으며 YARN kill 응용 프로그램도 작동하지 않습니다.

여기에 이미지 설명 입력

나와 함께 할 수있는 사람이 있습니까?


1
테스트 환경에있는 경우 : ps aux | grep
spark-

@eliasah "테스트 환경", 나에게 작업은 이미 배포되었습니다 ..
B.Mr.W.

1
프로덕션에서 일자리를 죽이고 싶습니까 ????
eliasah

1
@eliasah 예 ... 한 호스트의 실패로 인해 프로덕션 작업이 중단되었습니다.
B.Mr.W.

답변:


213
  • 스파크 스케줄러에서 애플리케이션 ID를지나 복사합니다 (예 : application_1428487296152_25597).
  • 작업을 시작한 서버에 연결
  • yarn application -kill application_1428487296152_25597

1
스파크 스케줄러에 어떻게 가나 요?
makansij

과 동일 web UI합니까?
makansij

@Hunle ID는 Spark History UIYARN RUNNING앱 UI ( yarn-host : 8088 / cluster / apps / RUNNING ) 또는 Spark Job Web UIURL ( yarn-host : 8088 / proxy / application_ <timestamp> _ <id> )에서
가져올 수 있습니다.

2
한 번에 여러 개를 죽일 수 있습니다 : yarn application -kill application_1428487296152_25597 application_1428487296152_25598 ... ??
user3505444

6

YARN에서 모든 애플리케이션 ID를 가져 와서 하나씩 죽이는 데 시간이 오래 걸릴 수 있습니다. 아래와 같이 Bash for 루프를 사용하여이 반복적 인 작업을 빠르고 효율적으로 수행 할 수 있습니다.

ACCEPTED 상태에있는 YARN의 모든 애플리케이션을 종료하십시오.

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

RUNNING 상태에있는 YARN의 모든 애플리케이션을 종료하십시오.

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



1

이것은 윤리적이고 선호되는 솔루션이 아닐 수 있지만 yarn application 명령을 사용하여 작업을 종료하기 위해 콘솔에 액세스 할 수없는 환경에서 도움이됩니다.

단계는

Spark 작업의 애플리케이션 마스터 페이지로 이동합니다. 작업 섹션을 클릭하십시오. 활성 작업의 활성 단계를 클릭합니다. 활성 단계 바로 옆에 "kill"버튼이 표시됩니다.

다음 단계가 현재 실행중인 단계에 종속 된 경우 작동합니다. 작업이 "사용자에 의해 죽임"으로 표시되지만

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.