Amazon EMR에서 노드 레이블 및 YARN ResourceManager 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 6월 15일

Amazon EMR 클러스터에서 노드 레이블을 활성화했습니다. 이후 YARN ResourceManager 오류가 발생했습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

이 문제는 Amazon EMR 릴리스 버전 5.19.0-5.21.0에 영향을 미칩니다. 이러한 버전에서는 Amazon EMR이 노드 레이블 파일을 HDFS에 저장합니다.

  • DEFAULT_DIR_NAME = "node-labels"
  • MIRROR_FILENAME = "nodelabel.mirror"
  • EDITLOG_FILENAME = "nodelabel.editlog"

Amazon EMR은 모든 노드에서 이러한 파일을 yarn-site.xmlyarn.node-labels.fs-store.root-dir: '/apps/yarn/nodelabels' 위치에 저장합니다. 이 문제는 크기 조정 작업 중에 파일의 블록이 포함된 모든 노드가 손실되어 이러한 파일이 손상될 때 발생합니다. 그러면 ResourceManager가 다시 시작되고 재시작 루프에서 멈춘 다음 CommonNodeLabelsManager에서 예외가 발생합니다. 예외를 찾으려면 /var/log/hadoop-yarn/yarn-resourcemanager-*.log에서 “org.apache.hadoop.yarn.nodelabels.CommonNodeLabelsManager”를 검색합니다.

이 오류를 해결하려면 노드 레이블 파일을 삭제합니다. 그런 다음 ResourceManager를 다시 시작하여 파일을 다시 생성합니다.

해결 방법

1.    파일 시스템 상태를 확인하고 블록을 찾습니다.

hdfs fsck /apps/yarn/nodelabels/ -locations -blocks -files

2.    파일을 제거합니다.

hdfs dfs -rm -skipTrash /apps/yarn/nodelabels/*

3.    ResourceManager를 다시 시작합니다.

sudo stop hadoop-yarn-resourcemanager
sudo start hadoop-yarn-resourcemanager

4.    ResourceManager가 다시 시작되면 노드 레이블 파일이 다시 생성됩니다. 그러면 다시 시작 루프가 해결됩니다. 하지만 아직은 YARN 애플리케이션을 제출할 수 없습니다. YARN 애플리케이션을 제출하기 전에 노드 레이블 항목을 수동으로 추가해야 합니다.

yarn rmadmin -addToClusterNodeLabels "CORE(exclusive=false)"

5.    레이블을 나열하여 ResourceManager가 레이블을 다시 생성했는지 확인합니다.

yarn cluster --list-node-labels

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?