일관된 보기 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

일관된 보기

주의

2023년 6월 1일에 EMRFS 일관된 보기가 향후 Amazon EMR 릴리스에 대한 표준 지원에서 종료됩니다. EMRFS 일관된 보기는 기존 릴리스에서도 계속 작동합니다.

2020년 12월 1일에 Amazon S3의 강력한 읽기 후 쓰기 일관성 기능이 출시됨에 따라 Amazon EMR 클러스터에서 EMRFS 일관된 보기(EMRFS CV)를 더 이상 사용할 필요가 없습니다. EMRFS CV는 Amazon EMR 클러스터가 Amazon S3 객체의 나열 및 쓰기 후 읽기 일관성을 확인할 수 있는 선택적 기능입니다. 클러스터를 생성하고 EMRFS CV를 켜면 Amazon EMR은 Amazon DynamoDB 데이터베이스를 생성하여 S3 객체의 목록 및 쓰기 후 읽기 일관성 추적에 사용하는 객체 메타데이터를 저장합니다. 이제 추가 비용이 발생하지 않도록 EMRFS CV를 끄고 CV에서 사용하는 DynamoDB 데이터베이스를 삭제할 수 있습니다. 다음 절차에서는 CV 기능을 확인하고, 기능을 끈 후에, 기능에서 사용하는 DynamoDB 데이터베이스를 삭제하는 방법을 설명합니다.

EMRFS CV 기능을 사용하고 있는지 확인하는 방법
  1. 구성 탭으로 이동합니다. 클러스터의 구성이 다음과 같으면 EMRFS CV를 사용합니다.

    Classification=emrfs-site,Property=fs.s3.consistent,Value=true
  2. 또는 AWS CLI 를 사용하여 describe-cluster API를 사용하여 클러스터를 설명합니다. 출력에 fs.s3.consistent: true가 포함된 경우 클러스터는 EMRFS CV를 사용하는 것입니다.

Amazon EMR 클러스터에서 EMRFS CV를 끄는 방법

EMRFS CV 기능을 끄려면 다음 세 가지 옵션 중 하나를 사용합니다. 이러한 옵션을 프로덕션 환경에 적용하기 전에 테스트 환경에서 테스트해야 합니다.

  1. 기존 클러스터를 중지하고 EMRFS CV 옵션을 사용하지 않고 새 클러스터를 시작하는 방법
    1. 클러스터를 중지하기 전에 데이터를 백업하고 사용자에게 알려야 합니다.

    2. 클러스터를 중지하려면 클러스터 종료 지침을 따릅니다.

    3. Amazon EMR 콘솔을 사용하여 새 클러스터를 생성하는 경우 고급 옵션으로 이동합니다. 소프트웨어 설정 편집 섹션에서 EMRFS CV를 켜는 옵션을 선택 취소합니다. EMRFS 일관된 보기 확인란을 사용할 수 있는 경우 선택 취소한 상태로 유지합니다.

    4. AWS CLI 를 사용하여 create-cluster API로 새 클러스터를 생성하는 경우 EMRFS CV를 켜는 --emrfs 옵션을 사용하지 마십시오.

    5. SDK 또는를 사용하여 새 클러스터를 AWS CloudFormation 생성하는 경우 일관된 보기 구성에 나열된 구성을 사용하지 마세요.

  2. 클러스터를 복제하고 EMRFS CV를 제거하는 방법
    1. Amazon EMR 콘솔에서 EMRFS CV를 사용하는 클러스터를 선택합니다.

    2. 클러스터 세부 정보 페이지 상단에서 복제를 선택합니다.

    3. 이전을 선택하고 1단계: 소프트웨어 및 단계로 이동합니다.

    4. 소프트웨어 설정 편집에서 EMRFS CV를 제거합니다. 구성 편집에서 emrfs-site 분류에 있는 다음 구성을 삭제합니다. S3 버킷에서 JSON을 로드하는 경우 S3 객체를 수정해야 합니다.

      [ {"classification": "emrfs-site", "properties": { "fs.s3.consistent.retryPeriodSeconds":"10", "fs.s3.consistent":"true", "fs.s3.consistent.retryCount":"5", "fs.s3.consistent.metadata.tableName":"EmrFSMetadata" } } ]
  3. 인스턴스 그룹을 사용하는 클러스터에서 EMRFS CV를 제거하는 방법
    1. 다음 명령을 사용하여 단일 EMR 클러스터가 EMRFS CV와 연결된 DynamoDB 테이블을 사용하는지 또는 여러 클러스터가 테이블을 공유하는지 확인합니다. 테이블 이름은 일관된 보기 구성에 설명된 대로 fs.s3.consistent.metadata.tableName에서 지정됩니다. EMRFS CV에서 사용하는 기본 테이블 이름은 EmrFSMetadata입니다.

      aws emr describe-cluster --cluster-id j-XXXXX | grep fs.s3.consistent.metadata.tableName
    2. 클러스터가 DynamoDB 데이터베이스를 다른 클러스터와 공유하지 않는 경우 다음 명령을 사용하여 클러스터를 재구성하고 EMRFS CV를 비활성화합니다. 자세한 내용은 실행 중 클러스터에서 인스턴스 그룹 재구성을 참조하세요.

      aws emr modify-instance-groups --cli-input-json file://disable-emrfs-1.json

      이 명령은 수정할 파일을 엽니다. 다음 구성을 사용하여 파일을 수정합니다.

      { "ClusterId": "j-xxxx", "InstanceGroups": [ { "InstanceGroupId": "ig-xxxx", "Configurations": [ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent": "false" }, "Configurations": [] } ] } ] }
    3. 클러스터가 DynamoDB 테이블을 다른 클러스터와 공유하는 경우, 공유 S3 위치의 객체를 수정하는 클러스터가 없는 시점에 모든 클러스터에서 EMRFS CV를 끕니다.

EMRFS CV와 연결된 Amazon DynamoDB 리소스를 삭제하는 방법

Amazon EMR 클러스터에서 EMRFS CV를 제거한 후에 EMRFS CV와 연결된 DynamoDB 리소스를 삭제합니다. 그렇게 하기 전까지는 EMRFS CV와 관련된 DynamoDB 요금이 계속 발생합니다.

  1. DynamoDB 테이블의 CloudWatch 지표를 확인하고 해당 테이블이 클러스터에서 사용되지 않는지 확인합니다.

  2. DynamoDB 테이블을 삭제합니다.

    aws dynamodb delete-table --table-name <your-table-name>
EMRFS CV와 연결된 Amazon SQS 리소스를 삭제하는 방법
  1. 불일치 알림을 Amazon SQS로 푸시하도록 클러스터를 구성한 경우 모든 SQS 대기열을 삭제할 수 있습니다.

  2. 일관된 보기 구성에서 설명한 대로 fs.s3.consistent.notification.SQS.queueName에 지정된 Amazon SQS 대기열 이름을 찾습니다. 기본 대기열 이름 형식은 EMRFS-Inconsistency-<j-cluster ID>입니다.

    aws sqs list-queues | grep ‘EMRFS-Inconsistency’ aws sqs delete-queue –queue-url <your-queue-url>
EMRFS CLI 사용을 중지하는 방법
  • EMRFS CLI는 EMRFS CV가 생성하는 메타데이터를 관리합니다. 향후 Amazon EMR 릴리스에서 EMRFS CV에 대한 표준 지원이 종료됨에 따라 EMRFS CLI에 대한 지원도 종료됩니다.