

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

# EMRFS로 Amazon S3 요청 재시도
<a name="emr-spark-emrfs-retry"></a>

이 주제에서는 EMRFS를 사용하여 Amazon S3에 요청할 때 사용할 수 있는 재시도 전략에 대한 정보를 제공합니다. 요청 비율이 증가하면 S3는 새 속도를 지원하도록 조정을 시도합니다. 이 과정에서 S3는 요청을 제한하고 `503 Slow Down` 오류를 반환할 수 있습니다. S3 요청의 성공률을 높이기 위해 `emrfs-site` 구성에서 속성을 구성하여 재시도 전략을 조정할 수 있습니다.

다음과 같은 방법으로 재시도 전략을 조정할 수 있습니다.
+ 기본 지수 백오프 재시도 전략의 최대 재시도 한도를 늘립니다.
+ 가산 증가 및 지수 감소(AIMD) 재시도 전략을 활성화하고 구성합니다. AIMD는 Amazon EMR 릴리스 6.4.0 이상에서 지원됩니다.

## 기본 지수 백오프 전략 사용
<a name="emr-spark-emrfs-retry-exponential-backoff"></a>

기본적으로 EMRFS는 지수 백오프 전략을 사용하여 Amazon S3 요청을 재시도합니다. 기본 EMRFS 재시도 제한은 15회입니다. S3 `503 Slow Down` 오류를 방지하기 위해 새 클러스터를 생성할 때, 실행 중인 클러스터에서 또는 애플리케이션 런타임에 재시도 한도를 늘릴 수 있습니다.

재시도 한도를 늘리려면 `fs.s3.maxRetries` 구성에서 `emrfs-site`의 값을 변경해야 합니다. 다음 예제 구성은 `fs.s3.maxRetries`를 사용자 지정 값(30)으로 설정합니다.

```
[
    {
      "Classification": "emrfs-site",
      "Properties": {
        "fs.s3.maxRetries": "30"
      }
    }
]
```

구성 객체 작업에 대한 자세한 내용은 [애플리케이션 구성](emr-configure-apps.md) 섹션을 참조하세요.

## AIMD 재시도 전략 사용
<a name="emr-spark-emrfs-retry-aimd"></a>

Amazon EMR 릴리스 6.4.0 이상에서 EMRFS는 가산 증가 및 지수 감소(AIMD) 모델을 기반으로 하는 대체 재시도 전략을 지원합니다. AIMD 재시도 전략은 대형 Amazon EMR 클러스터를 사용할 때 특히 유용합니다.

AIMD는 최근 성공한 요청에 대한 데이터를 사용하여 사용자 지정 요청 비율을 계산합니다. 이 전략을 사용하면 제한된 요청 수와 요청당 필요한 총 시도 횟수를 줄일 수 있습니다.

AIMD 재시도 전략을 활성화하려면 다음 예제와 같이 `emrfs-site` 구성에서 `fs.s3.aimd.enabled` 속성을 `true`로 설정해야 합니다.

```
[
    {
      "Classification": "emrfs-site",
      "Properties": {
        "fs.s3.aimd.enabled": "true"
      }
    }
]
```

구성 객체 작업에 대한 자세한 내용은 [애플리케이션 구성](emr-configure-apps.md) 섹션을 참조하세요.

## 고급 AIMD 재시도 설정
<a name="emr-spark-emrfs-retry-advanced-properties"></a>

다음 테이블에 나열된 속성을 구성하여 AIMD 재시도 전략을 사용할 때 재시도 동작을 세분화할 수 있습니다. 대부분의 사용 사례에서는 기본값을 사용하는 것이 좋습니다.


**고급 AIMD 재시도 전략 속성**  

| 속성 | 기본값  | 설명 | 
| --- | --- | --- | 
| fs.s3.aimd.increaseIncrement | 0.1 | 연속 요청 성공 시 요청 비율이 얼마나 빨리 증가하는지를 제어합니다. | 
| fs.s3.aimd.reductionFactor | 2 | Amazon S3에서 503 응답을 반환할 때 요청 비율이 얼마나 빨리 감소하는지를 제어합니다. 기본 계수(2)를 사용하면 요청 비율이 절반으로 줄어듭니다. | 
| fs.s3.aimd.minRate | 0.1 | 요청이 S3에 의해 지속적으로 제한되는 경우 요청 비율의 하한을 설정합니다. | 
| fs.s3.aimd.initialRate | 5500 | 초기 요청 비율을 설정합니다. 이 속도는 fs.s3.aimd.increaseIncrement 및 fs.s3.aimd.reductionFactor에 지정한 값에 따라 달라집니다.초기 속도는 GET 요청에도 사용되며 PUT 요청의 경우 비례적으로 조정됩니다(3,500/5,500). | 
| fs.s3.aimd.adjustWindow | 2 | 요청 비율을 조정하는 빈도를 제어합니다(단위: 응답 수). | 
| fs.s3.aimd.maxAttempts | 100 | 요청을 시도할 수 있는 최대 시도 횟수를 설정합니다. | 