ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스파크잡 applicationId를 applicationName으로 얻기
    카테고리 없음 2020. 5. 26. 13:38

    스파크잡 배포를 도커라이즈로 처리했어요. 도커이미지를 k8s(쿠버네티스)에 배포하면 컨테이너가 뜨면서 spark-submit을 이용해서 잡 submit을 해요. 

     

    보통 웹어플리케이션은 쿠버네티스 배포하면서 이전 컨테이너를 바꿔치기하니까 이전 어플리케이션을 따로 kill할 필요가 없죠. 하지만 yarn 클러스터에 배포되 스파크잡은 따로 kill을 해야 합니다.

     

    스파크잡 kill은 yarn application -kill {applictionaId}로 하면 되죠. 그러니 spark-submit을 하기전에 application kill을 하면 됩니다. 그런데 spark-submit때마다 바뀌는 applicationId는 어떻게 알죠?

     

    applicationName을 이용하면 됩니다. spark-submit --name {applicationNmae} 옵션을 이용합니다. 그리고 applicationName을 이용해서 applicationId를 알아 오면 됩니다.

     

    application_id=$(yarn application -list | awk '$2 == "applicationNmae" { print $1 }')

    yarn application -kill {application_id}

Designed by Tistory.