일관된 보기 - 아마존 EMR

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

일관된 보기

주의

2023년 6월 1일에 EMRFS Consistent View가 향후 Amazon EMR 릴리스에 대한 표준 지원이 종료됩니다. EMRFS기존 릴리스에서도 일관된 시각은 계속 유효할 것입니다.

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

CV 기능을 사용하고 있는지 확인하려면 EMRFS
  1. 구성 탭으로 이동합니다. 클러스터가 다음과 같이 구성되어 있는 경우 EMRFS CV를 사용합니다.

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

Amazon EMR 클러스터에서 EMRFS CV를 끄려면

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

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

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

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

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

    5. OR를 사용하여 새 클러스터를 생성하는 경우 정합성 보장 보기 구성에 나열된 구성을 사용하지 마십시오. 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에서 지정됩니다. CV에서 사용하는 기본 테이블 이름은 입니다. EMRFS EmrFSMetadata

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

      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 위치의 객체를 수정하는 클러스터가 없는 시점에 모든 클러스터에서 CV를 EMRFS 끄십시오.

CV와 연결된 Amazon DynamoDB 리소스를 삭제하려면 EMRFS

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

  1. DynamoDB 테이블의 CloudWatch 메트릭을 확인하고 테이블이 클러스터에서 사용되지 않는지 확인합니다.

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

    aws dynamodb delete-table --table-name <your-table-name>
EMRFSCV와 관련된 Amazon SQS 리소스를 삭제하려면
  1. 불일치 알림을 SQS Amazon에 푸시하도록 클러스터를 구성한 경우 모든 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
  • EMRFSCV가 생성하는 메타데이터를 EMRFSCLI관리합니다. 향후 Amazon EMR 릴리스에서 EMRFS CV에 대한 표준 지원이 종료됨에 따라 에 대한 지원도 EMRFS CLI 종료될 예정입니다.