Amazon EMR 클러스터 오류: 거부 목록 노드
NodeManager 데몬은 코어 및 작업 노드에 있는 컨테이너의 실행 및 관리를 담당합니다. 이 컨테이너는 마스터 노드에서 실행되는 ResourceManager 데몬에 의해 NodeManager 데몬에 할당됩니다. ResourceManager는 하트비트를 통해 NodeManager 노드를 모니터링합니다.
ResourceManager 대몬(daemon)에서 NodeManager 노드를 거부 목록에 등록하여 해당 노드가 작업을 처리할 수 있는 노드 풀에서 제거되는 몇 가지 상황이 있습니다.
-
NodeManager 노드에서 지난 10분(60만 밀리초) 동안 ResourceManager 대몬(daemon)으로 하트비트를 전송하지 않은 경우. 이 시간은
yarn.nm.liveness-monitor.expiry-interval-ms
구성 설정을 사용하여 구성할 수 있습니다. Yarn 구성 설정 변경에 대한 자세한 내용은 Amazon EMR 릴리스 안내서에서 애플리케이션 구성을 참조하세요. -
NodeManager는
yarn.nodemanager.local-dirs
및yarn.nodemanager.log-dirs
에 의해 결정되는 디스크 상태를 검사합니다. 이때 권한 및 사용 가능한 디스크 공간(90% 미만)에 대한 검사도 이루어집니다. 하나의 디스크가 검사에 실패하면 NodeManager가 해당 특정 디스크의 사용을 중지하지만 노드 상태는 양호한 것으로 보고합니다. 많은 수의 디스크가 검사에 실패하면 ResourceManager에 노드가 불량한 것으로 보고되고 새로운 컨테이너가 노드에 할당되지 않습니다.
실패한 작업이 3개를 넘으면 애플리케이션 마스터가 NodeManager 노드를 거부 목록으로도 처리할 수 있습니다. mapreduce.job.maxtaskfailures.per.tracker
구성 파라미터를 사용하여 이 값을 더 높은 값으로 변경할 수 있습니다. 변경할 수 있는 그 밖의 구성 설정으로는 실패로 표시되기 전 작업 시도 횟수(map 작업의 경우 mapreduce.map.max.attempts
와 reduce 작업의 경우 mapreduce.reduce.maxattempts
)가 있습니다. 구성 설정 변경에 대한 자세한 내용은 Amazon EMR 릴리스 안내서에서 애플리케이션 구성을 참조하세요.