복붙노트

[HADOOP] AWS EMR 성능 HDFS 및 S3

HADOOP

AWS EMR 성능 HDFS 및 S3

Big Data에서 코드는 실행을 위해 데이터쪽으로 푸시됩니다. 이는 데이터가 크고 실행 코드가 상대적으로 작기 때문에 의미가 있습니다. AWS EMR을 사용하면 데이터는 HDFS 또는 S3에있을 수 있습니다. S3의 경우, 일부 다른 노드에서 실행하려면 데이터를 코어 / 태스크 노드로 가져와야합니다. HDFS의 데이터와 비교할 때 약간의 오버 헤드가 발생할 수 있습니다.

최근에 MR 작업이 실행될 때 S3에 로그 파일을 가져 오는 데 상당한 대기 시간이 있음을 알았습니다. 때로는 작업이 완료된 후에도 로그 파일이 표시되는 데 몇 분이 걸렸습니다.

이것에 대한 생각? HDFS vs S3의 데이터를 사용하여 MR 작업 완료에 대한 메트릭이 있습니까?

해결법

  1. ==============================

    1.그것은 다른 차원에서 문제가됩니다.

    그것은 다른 차원에서 문제가됩니다.

    S3는 최종 일관성 만 있습니다. 쓰기 프로세스가 지연되어 코드로 무언가를 작성한 후에는 즉시 읽거나 읽을 수 없습니다 (예 : close () 또는 flush ()). 나는 이것이 당신이 쓰는 데이터에 대한 무료 리소스 할당 때문일 수 있다고 생각합니다. 따라서 성능 문제가 아니라 실제로 원하는 / 일관성 문제입니다.

    EMR에서 무엇을해야합니까? Hadoop 클러스터를 시작하고 작업에 필요한 모든 것을 HDFS에 넣었습니다. 읽기는 S3에서 시간이 훨씬 더 비싸며 최종 일관성은 기본적으로 작업 간 항목을 버퍼링하는 데 쓸모가 없습니다.

    그러나 S3는 HDFS에서 파일을 백업하거나 다른 인스턴스 나 서비스 (예 : CloudFront)에서 파일을 사용할 수있게 할 때 좋습니다.

  2. ==============================

    2.성능면에서 HDFS는 S3보다 낫습니다.

    성능면에서 HDFS는 S3보다 낫습니다.

    요구 사항이 장기적이고 고성능이 필요하며 반복적 인 기계 학습 알고리즘을 실행하려는 경우 HDFS가 더 좋습니다.

    S3는 하중이 가변적 일 때 더 좋고, 적은 비용으로 높은 내구성과 지속성을 요구합니다.

    자세한 내용은이 링크를 참조하십시오 http://www.nithinkanil.com/2015/05/hdfs-vs-s3.html

  3. ==============================

    3.클러스터를 종료하면 HDFS 데이터가 삭제되므로 EMR 클러스터를 종료하려면 S3을 사용해야합니다.

    클러스터를 종료하면 HDFS 데이터가 삭제되므로 EMR 클러스터를 종료하려면 S3을 사용해야합니다.

  4. from https://stackoverflow.com/questions/20143216/aws-emr-performance-hdfs-vs-s3 by cc-by-sa and MIT license