Amazon EMR에서의 '풀과의 연결 제한 시간 초과(Timeout waiting for connection from pool)' 오류를 해결하려면 어떻게 해야 하나요?

2분 분량
0

Amazon EMR의 Apache Hadoop 작업이 '풀과의 연결 제한 시간 초과(Timeout waiting for connection from pool)' 오류 메시지가 표시되며 실패합니다.

해결 방법

이 오류는 보통 Amazon Simple Storage Service(Amazon S3)에 대한 Amazon EMR File System(EMRFS) 연결 한도에 도달했을 때 발생합니다. 이 오류를 해결하려면 fs.s3.maxConnections 속성의 값을 증가시킵니다. 클러스터가 실행 중이거나 새 클러스터를 생성할 때 이를 수행할 수 있습니다.

1.    SSH를 사용하여 프라이머리 노드에 연결합니다.

2.    다음 명령을 실행하여 emrfs-site.xml 파일을 sudo로 엽니다. 이 파일은 /usr/share/aws/emr/emrfs/conf 디렉터리에서 찾을 수 있습니다.

sudo vi /usr/share/aws/emr/emrfs/conf/emrfs-site.xml

3.    fs.s3.maxConnections 속성의 값을 50보다 크게 설정합니다. 다음 예에서는 값이 100으로 설정되었습니다. 애플리케이션에 필요한 동시 S3 연결 수에 따라 더 높은 값을 선택해야 할 수도 있습니다.
참고: Apache HBase를 사용하여 클러스터를 시작하는 경우 기본적으로 fs.s3.maxConnections 값은 1000으로 설정됩니다. fs.s3.maxConnections 값을 증가시켜도 제한 시간 초과 오류가 해결되지 않는 경우 애플리케이션에 연결 누출이 있는지 확인하세요.

<property>
  <name>fs.s3.maxConnections</name>
  <value>100</value>
</property>

4.    모든 코어 및 작업 노드에 단계 2와 3을 반복합니다. 마스터 노드에서 사용한 것과 동일한 fs.s3.maxConnections 값을 사용하세요.
참고: Amazon EMR 버전 5.21.0 이상에서는 클러스터 애플리케이션을 재구성하고 실행 중인 클러스터의 각 인스턴스 그룹에 대해 추가 구성 분류를 지정할 수 있습니다. 자세한 내용은 실행 중인 클러스터에서 인스턴스 그룹 재구성을 참조하세요.

5.    Hadoop 작업을 다시 실행합니다. 애플리케이션은 서비스를 다시 시작하지 않고 fs.s3.maxConnections에 대한 새 값을 사용해야 합니다.

새 클러스터를 시작할 때 모든 노드의 fs.s3.maxConnections 속성 값을 설정하려면 다음과 유사한 구성 객체를 사용합니다. 자세한 정보는 애플리케이션 구성을 참조하세요.

[
  {
    "Classification": "emrfs-site",
    "Properties": {
      "fs.s3.maxConnections": "100"
    }
  }
]

관련 정보

스토리지 및 파일 시스템 작업

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠