내용으로 건너뛰기

Amazon EMR에서 "Exit status: -100. Diagnostics: Container released on a lost node" 오류를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon EMR 작업이 실패하고 "Container released on a lost node" 오류가 표시됩니다.

간략한 설명

높은 디스크 공간 사용률로 인해 Amazon EMR이 코어 또는 태스크 노드를 종료하는 경우 다음 오류가 표시될 수 있습니다.

"ExecutorLostFailure (executor 12 exited caused by one of the running tasks) Reason: Container marked as failed: container_1572839353552_0008_01_000002 on host: ip-##-###-##-## Exit status: -100. Diagnostics: Container released on a lost node"

CPU 사용률이 오랫동안 높거나 사용 가능한 메모리가 부족하여 노드가 응답하지 않는 경우에도 위 오류가 발생할 수 있습니다.

다음 해결 방법은 디스크 공간이 부족하고 MR 비정상 노드 지표에 비정상 노드가 표시될 때 발생하는 오류를 해결하는 방법에 대한 단계를 제공합니다.

해결 방법

코어 또는 태스크 노드 디스크(예: /mnt 또는 /mnt1)의 디스크 사용량이 90%를 초과하면 디스크가 비정상 상태가 됩니다. 노드 디스크의 25% 미만이 정상 상태인 경우 YARN ResourceManager는 노드를 정상적으로 서비스 해제합니다. 이 문제를 해결하려면 EMR 클러스터에 Amazon Elastic Block Store(Amazon EBS) 용량을 더 추가하십시오.

근본 원인 파악

오류의 원인을 확인하려면 EMR 클러스터의 Amazon CloudWatch 지표MR 비정상 노드MR 손실 노드를 확인하십시오.

MR 비정상 노드 지표에 비정상 노드가 표시된다면 디스크 공간이 부족하여 문제가 발생한 것입니다.

MR 손실 노드 지표에 손실 노드가 표시된다면 하드웨어 장애로 인해 노드 손실이 발생한 것입니다. 또는 CPU 또는 메모리 사용량이 많아서 Amazon EMR이 노드에 도달할 수 없는 것입니다.

새 클러스터를 위한 Amazon EBS 용량 추가

Amazon EMR 클러스터를 시작할 때 Amazon EBS 용량을 더 추가하려면 더 큰 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 유형을 선택하십시오. 자세한 내용은 인스턴스의 기본 EBS 스토리지를 참조하십시오. 클러스터를 만들 때 볼륨 크기를 수정하거나 볼륨을 더 추가할 수도 있습니다.

신규 또는 실행 중인 클러스터를 위한 코어 또는 태스크 노드 추가

새 클러스터를 시작할 때 더 많은 수의 코어 또는 태스크 노드를 선택하십시오. 또는 실행 중인 클러스터에 코어 또는 태스크 노드를 더 추가하십시오.

클러스터 실행을 위한 Amazon EBS 볼륨 추가

Amazon EBS 볼륨을 늘려도 문제가 해결되지 않으면 실행 중인 클러스터에 Amazon EBS 볼륨을 추가로 연결하십시오.

다음 단계를 완료하십시오.

  1. 코어 및 태스크 노드에 더 많은 Amazon EBS 볼륨을 연결합니다.

  2. 연결된 볼륨을 포맷 및 마운트합니다. 올바른 디스크 번호를 사용해야 합니다. 예를 들어 /data 대신 /mnt1 또는 /mnt2를 사용하십시오.

  3. SSH를 사용하여 노드에 연결합니다.

  4. /etc/hadoop/conf/yarn-site.xmlyarn.nodemanager.local-dirs 속성 안에 /mnt1/yarn 경로를 추가합니다.
    예시:

    <property>    <name>yarn.nodemanager.local-dirs</name>
        <value>/mnt/yarn,/mnt1/yarn</value>
    </property>
  5. NodeManager 서비스 재시작:

    sudo stop hadoop-yarn-nodemanager
    sudo start hadoop-yarn-nodemanager
  6. 종료 방지 기능을 활성화합니다.

여전히 디스크 공간 문제가 있는 경우 다음 조치를 취하십시오.

  • 불필요한 파일을 제거합니다.
  • 디스크 사용률 임계값을 90%에서 99%로 늘립니다. 이렇게 하려면 모든 노드의 yarn-default.xml에서 yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage 속성을 수정합니다. 그런 다음 hadoop-yarn-nodemanager 서비스를 다시 시작합니다.

관련 정보

Amazon EMR 클러스터가 NO_SLAVE_LEFT로 인해 종료되고 코어 노드가 FAILED_BY_MASTER로 인해 종료됨

Amazon EMR 클러스터의 코어 노드에 디스크 공간이 부족한 이유는 무엇입니까?

AWS 공식업데이트됨 2달 전