Amazon EMR에서 발생한 “502 잘못된 게이트웨이” 또는 “504 게이트웨이 시간 초과” 오류로 인한 프라이머리 노드 장애 문제를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon EMR 프라이머리 노드가 “502 잘못된 게이트웨이” 또는 “504 게이트웨이 시간 초과” 오류로 인해 실패했습니다.

간략한 설명

EMR 프라이머리 노드가 다음 오류 중 하나로 인해 실패할 수 있습니다.

The master failed: Error occurred:<html>?? <head><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><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) 인스턴스 상태 검사가 실패했습니다.

해결 방법

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

프라이머리 노드의 인스턴스 컨트롤러(I/C)는 EMR 컨트롤 플레인 및 나머지 클러스터와 통신하는 데몬입니다. 인스턴스 컨트롤러가 EMR 컨트롤 플레인과 통신할 수 없는 경우, 프라이머리 노드가 비정상으로 분류되고 클러스터가 종료됩니다.

이 문제를 해결하려면 인스턴스 컨트롤러 로그를 분석하여 프로세스가 실패한 이유를 확인하십시오. 인스턴스 컨트롤러 로그는 **/emr/instance-controller/log/**에 있습니다.

종료 보호가 켜져 있는 경우 SSH를 프라이머리 노드에 연결하고 인스턴스 컨트롤러 프로세스를 다시 시작합니다.

Amazon EMR 5.30.0 이상의 릴리스 버전:

1.    다음 명령을 사용하여 I/C 상태를 확인합니다.

sudo systemctl status instance-controller.service

2.    다운된 상태인 경우 다음 명령을 사용하여 I/C를 다시 시작합니다.

sudo systemctl start instance-controller.service

Amazon EMR 4.x~2.x 릴리스 버전:

1.    다음 명령을 사용하여 I/C 상태를 확인합니다.

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

2.    다운된 상태인 경우 다음 명령을 사용하여 I/C를 다시 시작합니다.

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

로그 파일을 분석하여 메모리 및 디스크 문제 해결

  1. 종료 방지가 켜져 있는 경우 SSH를 사용하여 프라이머리 노드에 연결합니다. 그런 다음 인스턴스 상태 로그 파일을 검토합니다.
  2. 인스턴트 상태 로그에 나열된 메모리 및 디스크와 같은 인스턴스 지표를 분석합니다. free -mdf -h와 같은 Linux 명령을 사용하여 이러한 지표를 분석할 수 있습니다.
  3. 로그 파일 결과를 사용하여 프라이머리 노드에서 많은 양의 디스크 또는 메모리를 사용하는 이유를 확인할 수 있습니다.

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

  • 인스턴스 상태 확인 지표를 확인하여 프라이머리 인스턴스 상태 확인이 실패했는지 확인합니다.
  • 인스턴스 상태 확인 실패 문제를 해결합니다. EC2 인스턴스를 시작하고 중지하면 EMR 클러스터가 종료된다는 점에 유의하십시오.

종료 방지 기능이 꺼져 있고 클러스터가 이미 종료된 프라이머리 노드의 문제를 해결합니다.


AWS 공식
AWS 공식업데이트됨 일 년 전