[HADOOP] 'yarn application -list'는 결과를 보여주지 못한다.
HADOOP'yarn application -list'는 결과를 보여주지 못한다.
YARN 클러스터에서 일부 Spark 응용 프로그램을 실행했습니다. 응용 프로그램은 YARN UI http : // host : 8088 / cluster의 "All applications"페이지에 표시되지만 yarn application -list 명령은 결과를 제공하지 않습니다. 이것의 원인이 무엇일까요?
해결법
-
==============================
1."-appTypes"또는 "-appStates"옵션없이 "-list"옵션을 사용하면 "application-types"및 "states"에 대한 기본 필터링을 적용합니다 (아래 강조 표시된 부분 확인). 응용 프로그램 중 어느 것도 기본 필터링과 일치하지 않으면 결과가 표시되지 않습니다.
"-appTypes"또는 "-appStates"옵션없이 "-list"옵션을 사용하면 "application-types"및 "states"에 대한 기본 필터링을 적용합니다 (아래 강조 표시된 부분 확인). 응용 프로그램 중 어느 것도 기본 필터링과 일치하지 않으면 결과가 표시되지 않습니다.
총 응용 프로그램 수 (응용 프로그램 유형 : [] 및 상태 : [SUBMITTED, ACCEPTED, RUNNING]) : 0
"-list"에 대한 도움말이 표시되면 다음과 같이 표시됩니다.
"응용 프로그램 나열 - 응용 프로그램 유형에 따라 응용 프로그램을 필터링하기 위해 -appTypes 옵션 사용을 지원하고 응용 프로그램 상태를 기반으로 응용 프로그램을 필터링하기 위해 -appStates를 지원합니다.
이것은 약간 오도하는 것 같습니다.
"-appStates"를 지정하지 않으면 기본적으로 상태를 "SUBMITTED", "ACCEPTED"및 "RUNNING"으로 필터링합니다. 아래의 코드를 "org.apache.hadoop.yarn.client.cli.ApplicationCLI.java"의 "listApplications ()"메소드에서 확인하십시오.
private void listApplications() { ............ if (allAppStates) { for (YarnApplicationState appState : YarnApplicationState.values()) { appStates.add(appState); } } else { if (appStates.isEmpty()) { appStates.add(YarnApplicationState.RUNNING); appStates.add(YarnApplicationState.ACCEPTED); appStates.add(YarnApplicationState.SUBMITTED); } } ............ }
위의 코드에 따라 다음 논리가 적용됩니다.
CMD> 원사 신청 - 목록
총 응용 프로그램 수 (응용 프로그램 유형 : [] 및 상태 : [SUBMITTED, ACCEPTED, RUNNING]) : 0
CMD> 원사 신청 - 목록 -appStates ALL
ALL 응용 프로그램의 총 수 (응용 프로그램 유형 : [] 및 상태 : [NEW, NEW_SAVING , 제출 됨, 수락 됨, 실행 중, 종료 됨, 실패됨, Killed]) : 268
CMD> 원사 신청 - 목록 -appStates FINISHED
총 응용 프로그램 수 (응용 프로그램 유형 : [] 및 상태 : [FINISHED]) : 136
-
==============================
2.YARN에서 로그 집계를 활성화했지만 yarn.nodemanager.remote-app-log-dir을 사용자 정의 hdfs 디렉토리 (/ tmp / yarnlogs)로 설정 했으므로 로그는 실제로 / tmp / yarnlogs에 집계되었습니다. HDFS 였지만 원사 명령은 여전히 HDFS (/ tmp / logs)의 기본 위치에서 로그를 검색했습니다. 그래서 속성을 기본값으로 변경하면 나를 위해 그것을 고쳤습니다.
YARN에서 로그 집계를 활성화했지만 yarn.nodemanager.remote-app-log-dir을 사용자 정의 hdfs 디렉토리 (/ tmp / yarnlogs)로 설정 했으므로 로그는 실제로 / tmp / yarnlogs에 집계되었습니다. HDFS 였지만 원사 명령은 여전히 HDFS (/ tmp / logs)의 기본 위치에서 로그를 검색했습니다. 그래서 속성을 기본값으로 변경하면 나를 위해 그것을 고쳤습니다.
노트: 로그 집계 디렉토리가 잘못 구성된 경우 웹 UI에서 작업 기록에 액세스하는 동안 다음과 같은 오류가 발생합니다. 로그 집계가 완료되지 않았거나 활성화되어 있지 않습니다.
from https://stackoverflow.com/questions/32836740/yarn-application-list-doesnt-show-any-results by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HBase 대 하이브 대 HDFS 대 하이브 (0) | 2019.07.24 |
---|---|
[HADOOP] HIVE의 분산 캐시에 여러 파일 추가 (0) | 2019.07.24 |
[HADOOP] R : 직렬화 된 개체에서 CSV 만들기 (0) | 2019.07.24 |
[HADOOP] oazie Java 액션에서 HBase 자격 증명 전달 (0) | 2019.07.24 |
[HADOOP] HDFS의 블록 배치 전략 수정 (0) | 2019.07.24 |