Programing

Hadoop에서 Amazon S3와 S3n의 차이점

lottogame 2020. 11. 18. 08:21
반응형

Hadoop에서 Amazon S3와 S3n의 차이점


내 Hadoop 클러스터를 Amazon 스토리지에 연결하고 파일을 HDFS에 다운로드했을 때 s3://작동하지 않는 것으로 나타났습니다 . 인터넷에서 도움을 구할 때를 사용할 수 있다는 것을 알았습니다 S3n. 내가 사용했을 때 S3n작동했습니다. 내가 사용 사이의 차이를 이해하지 못하는 S3S3n내 하둡 클러스터로, 캔 누군가가 설명을?


나는 당신의 가장 큰 문제가 갖는 관련이 생각 S3S3n하둡을위한 두 개의 별도의 연결 지점으로. s3n://"이 S3 URL에서 외부 세계에서 읽을 수있는 일반 파일"을 의미합니다. s3://AWS 스토리지 클러스터에있는 S3 버킷에 매핑 된 HDFS 파일 시스템을 나타냅니다. 따라서 Amazon 스토리지 버킷의 파일을 사용할 때는 S3N을 사용해야하며 이것이 문제가 해결 된 이유입니다. @Steffen이 추가 한 정보도 훌륭합니다 !!


Amazon S3 를 사용하기위한 두 파일 시스템은 Amazon S3다루는Hadoop 위키 페이지에 문서화되어 있습니다 .

  • S3 기본 파일 시스템 (URI 체계 : s3n)
    S3에서 일반 파일을 읽고 쓰기위한 기본 파일 시스템입니다. 이 파일 시스템의 장점은 다른 도구로 작성된 S3의 파일에 액세스 할 수 있다는 것입니다. 반대로 다른 도구는 Hadoop을 사용하여 작성된 파일에 액세스 할 수 있습니다. 단점은 S3에서 부과하는 파일 크기에 대한 5GB 제한입니다 . 이러한 이유로 HDFS (매우 큰 파일을 지원함)를 대체하는 데 적합하지 않습니다 .

  • S3 블록 파일 시스템 (URI 체계 : s3)
    S3에서 지원하는 블록 기반 파일 시스템입니다. 파일은 HDFS에있는 것처럼 블록으로 저장됩니다. 이렇게하면 이름 바꾸기를 효율적으로 구현할 수 있습니다. 이 파일 시스템을 사용하려면 파일 시스템 전용 버킷을 사용해야합니다. 파일이 포함 된 기존 버킷을 사용하거나 다른 파일을 동일한 버킷에 쓰면 안됩니다. 이 파일 시스템에 저장된 파일은 5GB보다 클 수 있지만 다른 S3 도구와 상호 운용 할 수 없습니다 .

S3를 Hadoop의 Map / Reduce와 함께 사용할 수있는 방법은 두 가지가 있습니다 . S3 블록 파일 시스템을 사용하는 HDFS를 대체하거나 (즉, 매우 큰 파일을 지원하는 안정적인 분산 파일 시스템으로 사용) 데이터 입력을위한 편리한 저장소로 사용합니다. S3 파일 시스템을 사용하여 MapReduce와 출력 두 번째 경우 HDFS는 여전히 매핑 / 축소 단계에 사용됩니다. [...]

[강조 내]

따라서 차이점은 주로 5GB 제한이 처리되는 방식과 관련 이 있습니다 ( 객체의 크기는 1 바이트에서 5 테라 바이트까지 가능 하더라도 단일 PUT에서 업로드 할 수있는 가장 큰 객체입니다. 저장할 수있는 데이터 양 참조) . ) : S3 블록 파일 시스템 (URI 체계 : s3)을 사용하면 5GB 제한을 수정하고 최대 5TB의 파일을 저장할 수 있지만, 차례로 HDFS를 대체합니다.


다음은 설명입니다 : https://notes.mindprince.in/2014/08/01/difference-between-s3-block-and-s3-native-filesystem-on-hadoop.html

최초의 S3 지원 Hadoop 파일 시스템은 Hadoop 0.10.0 (HADOOP-574)에 도입되었습니다. S3 블록 파일 시스템이라고 불리며 URI 체계 s3 : //가 할당되었습니다. 이 구현에서 파일은 HDFS에있는 것처럼 블록으로 저장됩니다. 이 파일 시스템에 저장된 파일은 다른 S3 도구와 상호 운용되지 않습니다. 즉 , AWS 콘솔로 이동하여이 파일 시스템에서 작성한 파일을 찾으려고하면 해당 파일을 찾을 수 없습니다. 대신 이름이 지정된 파일을 찾을 수 있습니다. block_-1212312341234512345 등과 같은 것입니다 .

이러한 한계를 극복하기 위해 또 다른 S3 지원 파일 시스템이 Hadoop 0.18.0 (HADOOP-930)에 도입되었습니다. S3 네이티브 파일 시스템이라고 불리며 URI 체계 s3n : //이 할당되었습니다. 이 파일 시스템을 사용하면 다른 도구로 작성된 S3의 파일에 액세스 할 수 있습니다.이 파일 시스템이 도입되었을 때 S3의 파일 크기 제한은 5GB 였으므로이 파일 시스템은 5GB 미만의 파일에서만 작동 할 수있었습니다. 2010 년 말 Amazon은 파일 크기 제한을 5GB에서 5TB로 늘 렸습니다.

S3 블록 파일 시스템을 사용하는 것은 더 이상 권장되지 않습니다. Qubole 및 Amazon EMR과 같은 다양한 Hadoop-as-a-service 제공 업체는이를 보장하기 위해 s3 : // 및 s3n : // URI를 모두 S3 네이티브 파일 시스템에 매핑합니다.

따라서 항상 기본 파일 시스템을 사용하십시오. 더 이상 5Gb 제한이 없습니다. 경우에 따라 s3://대신 을 입력해야 할 수 s3n://있지만 생성 한 파일이 브라우저의 버킷 탐색기에 표시되는지 확인하십시오.

http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-plan-file-systems.html 도 참조 하십시오 .

이전에 Amazon EMR은 URI 체계 s3n과 함께 S3 네이티브 파일 시스템을 사용했습니다. 그래도 작동하지만 최상의 성능, 보안 및 안정성을 위해 s3 URI 체계를 사용하는 것이 좋습니다.

또한 s3bfs://이전에 .NET으로 알려진 이전 블록 파일 시스템에 액세스하는 데 사용할 수 있다고 말합니다 s3://.

참고 URL : https://stackoverflow.com/questions/10569455/differences-between-amazon-s3-and-s3n-in-hadoop

반응형