내용으로 건너뛰기

Amazon EMR에서 ‘502 Bad Gateway’ 또는 ‘504 Gateway Time-out’ 오류로 인한 프라이머리 노드 장애를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon EMR 프라이머리 노드가 ‘502 Bad Gateway’ 또는 ‘504 Gateway Time-out’ 오류로 인해 실패합니다.

간략한 설명

Amazon EMR 프라이머리 노드에 다음 오류 중 하나로 인해 장애가 발생할 수 있습니다.

"The master failed: Error occurred:<html>?? <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-16"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>502 Bad Gateway</title></head> <body>?? <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.20.0</center>?? </body>?? </html>??"

-또는-

"The master failed: Error occurred: <html>??<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-16"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>504 Gateway Time-out</title></head>??<body>??<center><h1>504 Gateway Time-out</h1></center>??<hr><center>nginx/1.16.1</center>??</body>??</html>??"

다음과 같은 이유 중 하나로 인해 이러한 오류를 받을 수 있습니다.

  • 인스턴스-컨트롤러 대몬이 중지된 상태이거나 프라이머리 노드 인스턴스에서 다운되었습니다.
  • 프라이머리 노드에 메모리 또는 디스크 공간이 부족합니다.
  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 상태 확인이 실패했습니다.

해결 방법

프라이머리 노드 인스턴스-컨트롤러 대몬 장애 문제 해결

프라이머리 노드의 인스턴스 컨트롤러는 Amazon EMR 컨트롤 플레인 및 나머지 클러스터와 통신합니다. 인스턴스 컨트롤러가 Amazon EMR 컨트롤 플레인과 통신할 수 없는 경우 Amazon EMR은 프라이머리 노드를 비정상으로 분류합니다. 종료 보호가 활성화되어 있는 경우 SSH를 사용하여 프라이머리 노드에 연결한 다음, 인스턴스 컨트롤러 프로세스를 다시 시작합니다.

Amazon EMR 버전 5.30.0 이상:

  1. 인스턴스 컨트롤러의 상태를 확인하려면 다음 명령을 실행합니다.

    sudo systemctl status instance-controller.service
  2. 인스턴스 컨트롤러 상태가 다운된 경우 다음 명령을 실행하여 인스턴스 컨트롤러를 다시 시작합니다.

    sudo systemctl start instance-controller.service

Amazon EMR 버전 2~4:

  1. 인스턴스 컨트롤러의 상태를 확인하려면 다음 명령을 실행합니다.

    sudo /etc/init.d/instance-controller status
  2. 인스턴스 컨트롤러 상태가 다운된 경우 다음 명령을 실행하여 인스턴스 컨트롤러를 다시 시작합니다.

    sudo /etc/init.d/instance-controller start

메모리 및 디스크 문제 해결

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

  1. 종료 보호가 활성화된 경우 SSH를 사용하여 프라이머리 노드에 연결합니다.
  2. 인스턴스 상태 로그 파일을 검토합니다.
  3. 인스턴스 상태 로그에 목록으로 표시된 메모리 및 디스크와 같은 인스턴스 지표를 분석합니다. free -mdf -h와 같은 Linux 명령을 사용하여 이러한 지표를 분석할 수 있습니다.
  4. 로그 파일 결과를 사용하여 프라이머리 노드가 많은 양의 디스크 또는 메모리를 사용하는 이유를 확인합니다.

프라이머리 노드 EC2 인스턴스 상태 확인 실패 문제 해결

인스턴스 상태 확인 지표를 검토하여 기본 인스턴스 상태 확인의 실패 여부를 확인합니다. 인스턴스 상태 확인이 실패하면 인스턴스 상태 확인 실패 문제를 해결하십시오.

참고: EC2 인스턴스를 시작하고 중지하면 Amazon EMR 클러스터가 중지됩니다.

종료 보호가 비활성화되어 있고 클러스터가 이미 종료된 프라이머리 노드 문제 해결

다음 작업을 수행하십시오.

AWS 공식업데이트됨 8달 전