복붙노트

[HADOOP] 종료 코드와 종료 상태가 스파크에 무엇을 의미합니까?

HADOOP

종료 코드와 종료 상태가 스파크에 무엇을 의미합니까?

원사에 불꽃을 발동 할 때 항상 종료 코드와 종료 상태가 표시됩니다.

다음은 몇 가지 예입니다.

나는이 메시지들 중 어느 것도 유용한 것으로 결코 발견하지 못했습니다 ... 실제로 이것들이 잘못되어 가고있는 것을 해석 할 기회가 있습니까? 나는 오류를 설명하는 테이블에 대해 높고 낮음을 찾았지만 아무것도 찾지 못했습니다.

위의 코드에서 해독 할 수있는 유일한 코드는 exit 코드 52이지만 여기서는 소스 코드를 살펴 보았습니다. 그것은 OOM이라고 말하고 있습니다.

나머지 종료 코드와 종료 상태를 해석하는 것을 중단해야합니까? 또는이 숫자가 실제로 의미있는 몇 가지 확실한 방법을 놓치고 있습니까?

누군가가 나에게 종료 코드, 종료 상태 및 유용 할 수있는 신호의 차이를 말할 수 있다고하더라도. 그러나 나는 지금 당장 무작위로 추측하고 있으며 스파크를 사용하는 다른 모든 사람들처럼 보인다.

마지막으로, 종료 코드 중 일부가 0보다 작은 이유와 그 종료 코드를 해석하는 이유는 무엇입니까?

예 : 종료 상태 : -100. 진단 : 컨테이너가 * lost * 노드에서 해제되었습니다.

해결법

  1. ==============================

    1.종료 코드와 상태 또는 신호는 Spark에만 국한되지 않지만 프로세스가 유닉스 계열 시스템에서 작동하는 방식의 일부입니다.

    종료 코드와 상태 또는 신호는 Spark에만 국한되지 않지만 프로세스가 유닉스 계열 시스템에서 작동하는 방식의 일부입니다.

    종료 상태와 종료 코드는 동일한 것의 다른 이름입니다. 종료 상태는 종료 후 프로세스의 결과를 나타내는 0 - 255 사이의 숫자입니다. 종료 상태 0은 대개 성공을 나타냅니다. 다른 코드의 의미는 프로그램에 따라 다르기 때문에 프로그램 설명서에 설명되어 있어야합니다. 그러나 몇 가지 확립 된 표준 코드가 있습니다. 포괄적 인 목록은이 답변을 참조하십시오.

    스파크 소스에서 나는 다음을 발견했다. 종료 코드. 그들의 설명은 코드의 로그 문과 주석과 종료 상태가 나타난 코드를 이해 한 것에서 가져온 것입니다.

    이러한 종료 ​​코드는 프로그램 종료로 인한 것일 수 있습니다. 유닉스 신호. 신호 번호는 종료 코드에서 128을 뺀 값으로 계산할 수 있습니다. 자세한 내용은이 블로그 게시물 (원래이 질문에 링크되어 있음)에서 설명합니다. 또한 JVM에서 생성 된 종료 코드를 설명하는 좋은 대답이 있습니다. Spark은 ExecutorExitCodes.scala의 주석에 설명 된대로이 가정을 사용합니다.

    위에 나열된 종료 코드 외에도 종료 코드로 1 또는 -1로 설정된 Spark 소스에서 System.exit () 호출 수가 있습니다. 내가 말하는 -1은 명령 행 매개 변수가 누락되거나 잘못되었음을 나타내는 데 사용되는 반면, 1은 다른 모든 오류를 나타냅니다.

    신호는 프로세스에 시스템 메시지를 보낼 수있는 일종의 이벤트입니다. 이 메시지는 프로세스가 구성을 다시로드 (SIGHUP)하거나 프로세스를 종료 (SIGKILL)하도록 요청하는 데 사용됩니다. 표준 신호 목록은 signal (7) 매뉴얼 페이지의 표준 신호 섹션에서 찾을 수 있습니다.

    아래의 코멘트 (감사합니다!)에서 Rick Moritz가 설명했듯이, Spark 설정에서 가장 가능성있는 신호 소스는 다음과 같습니다.

    이 점이 스파크에 의한 이러한 메시지가 의미하는 바를 조금 더 명확하게하기를 바랍니다.

  2. from https://stackoverflow.com/questions/45428145/do-exit-codes-and-exit-statuses-mean-anything-in-spark by cc-by-sa and MIT license