Amazon EMR 애플리케이션이 HTTP 404 "Not Found" AmazonS3Exception과 함께 실패함

최종 업데이트 날짜: 2019년 11월 21일

Amazon EMR에서 애플리케이션을 실행할 때 HTTP 404 "Not Found" AmazonS3Exception과 함께 애플리케이션이 실패합니다.

java.io.IOException: com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: Not Found (Service: Amazon S3; Status Code: 404; Error Code: 404 Not Found; Request ID: 3FEDF6CC9E4A8102; S3 Extended Request ID: 4oznJE5O44ySDrMMQ4g3F0L1+1ETqD0ANPWc0kYw0278zRX+TovNyu1ceLfcw21jasFxkkPfOuM=), S3 Extended Request ID: 4oznJE5O44ySDrMMQ4g3F0L1+1ETqD0ANPWc0kYw0278zRX+TovNyu1ceLfcw21jasFxkkPfOuM=

해결 방법

이 오류는 애플리케이션이 존재하지 않는 Amazon Simple Storage Service(Amazon S3) 파일 또는 경로에 액세스하려고 시도했음을 나타냅니다. 다음은 몇 가지 일반적인 원인 및 해결 방법입니다.

  • Amazon S3 경로가 잘못 입력되거나 삭제됨: 애플리케이션을 시작하기 전에 Amazon S3 경로를 올바르게 입력하고 경로가 존재하는지 확인합니다.
  • 다른 애플리케이션 또는 계정이 동일한 Amazon S3 파일에 액세스 중입니다. 다른 애플리케이션 또는 계정에서 파일 또는 경로를 삭제했을 수 있습니다. 애플리케이션을 시작하기 전에 다른 애플리케이션 또는 계정이 동일한 Amazon S3 경로에 적극적으로 액세스하고 있는지 확인하십시오.
  • 일관성 보기 활성화: Amazon S3는 S3 버킷에 있는 새 객체의 PUT에 대한 쓰기 후 읽기 일관성을 제공합니다. 객체를 생성하기 전에 키 이름에 HEAD 또는 GET 요청을 하면(예: 객체가 존재하는지 확인하기 위해) Amazon S3는 쓰기 후 읽기에 대한 최종 일관성을 제공합니다. 예를 들어 Amazon S3에 객체를 PUT한 다음 해당 객체에 대해 HEAD 또는 GET 요청을 즉시 생성하면 "Not Found" 오류가 발생할 수 있습니다. 이러한 오류를 해결하려면 EMRFS 일관성 보기를 활성화합니다. 자세한 내용은 일관성 보기를 참조하십시오.