Hadoop이란 무엇입니까?
Apache Hadoop은 데이터의 규모가 기가바이트에서 페타바이트에 이르는 대규모 데이터 세트를 효율적으로 저장 및 처리하는 데 사용되는 오픈 소스 프레임워크입니다. 하나의 대형 컴퓨터를 사용하여 데이터를 저장 및 처리하는 대신 Hadoop을 사용하면 여러 컴퓨터를 함께 클러스터링하여 대량의 데이터 세트를 병렬로 분석할 수 있습니다.
Hadoop의 네 가지 주요 모듈은 무엇인가요?
Hadoop은 네 가지 주요 모듈로 구성됩니다.
- Hadoop 분산 파일 시스템(HDFS) - 표준 또는 저사양 하드웨어에서 실행되는 분산 파일 시스템입니다. HDFS는 높은 내결함성과 대규모 데이터 세트에 대한 기본 지원 외에도 기존 파일 시스템보다 뛰어난 데이터 처리량을 제공합니다.
- Yet Another Resource Negotiator(YARN) - 클러스터 노드 및 리소스 사용을 관리하고 모니터링합니다. 작업 및 태스크를 스케줄링합니다.
- MapReduce - 프로그램에서 데이터에 대한 병렬 계산을 수행하는 데 도움이 되는 프레임워크입니다. 맵 태스크는 입력 데이터를 가져와 키 값 페어로 계산할 수 있는 데이터 세트로 변환합니다. 맵 태스크의 출력은 리듀스 태스크에 사용되어 출력을 집계하고 원하는 결과를 제공합니다.
- Hadoop Common - 모든 모듈에서 사용할 수 있는 공통 Java 라이브러리를 제공합니다.
Hadoop은 어떻게 작동하나요?
Hadoop을 사용하면 클러스터 서버의 모든 스토리지 및 처리 용량을 더 쉽게 사용하고 대량의 데이터에 대해 분산 프로세스를 실행할 수 있습니다. Hadoop은 다른 서비스와 애플리케이션을 구축할 수 있는 빌딩 블록을 제공합니다.
다양한 형식의 데이터를 수집하는 애플리케이션은 NameNode에 연결하는 API 작업을 사용하여 데이터를 Hadoop 클러스터에 배치할 수 있습니다. NameNode는 DataNode에 걸쳐 복제된 각 파일의 ‘청크’ 배치와 파일 디렉터리 구조를 추적합니다. 데이터를 쿼리하는 작업을 실행하려면 여러 맵으로 구성된 MapReduce 작업을 제공하고 DataNode에 걸쳐 분산된 HDFS의 데이터에 대해 실행되는 태스크를 줄입니다. 맵 태스크는 제공된 입력 파일에 대해 각 노드에서 실행되고 Reducer는 최종 출력을 집계하고 구성하기 위해 실행됩니다.
Hadoop 에코시스템은 어떻게 발전해 왔나요?
Hadoop 에코시스템은 확장성 덕분에 수년에 걸쳐 크게 성장했습니다. 오늘날 Hadoop 에코시스템에는 빅 데이터를 수집, 저장, 처리, 분석 및 관리하는 데 도움이 되는 많은 도구와 애플리케이션이 포함되어 있습니다. 가장 많이 사용되는 애플리케이션은 다음과 같습니다.
- Spark - 빅 데이터 워크로드에 주로 사용되는 오픈 소스 분산 처리 시스템입니다. Apache Spark는 빠른 성능을 위해 인 메모리 캐싱과 최적화된 실행을 사용하며, 일반 배치 처리, 스트리밍 분석, 기계 학습, 그래프 데이터베이스 및 임시 쿼리를 지원합니다.
- Presto - 짧은 지연 시간의 임시 데이터 분석에 최적화된 오픈 소스 분산 SQL 쿼리 엔진입니다. Presto는 복잡한 쿼리, 집계, 조인, 윈도우 함수 등 ANSI SQL 표준을 지원합니다. Presto는 하둡 분산 파일 시스템(HDFS)과 Amazon S3를 비롯한 여러 데이터 소스의 데이터를 처리할 수 있습니다.
- Hive - 사용자가 SQL 인터페이스를 통해 Hadoop MapReduce를 활용할 수 있도록 함으로써, 내결함성 분산 데이터 웨어하우징 외에도 대규모 분석을 지원합니다.
- HBase - Amazon S3(EMRFS 사용) 또는 Hadoop 분산 파일 시스템(HDFS)에서 실행되는 버전이 지정된 비관계형 오픈 소스 데이터베이스입니다. HBase는 대규모로 확장 가능한 분산형 빅데이터 저장소로, 수십억 개의 행과 수백만 개의 열이 있는 테이블에 무작위로 엄격하게 일관된 실시간 액세스를 제공하도록 구축되었습니다.
- Zeppelin - 대화형 데이터 탐색을 지원하는 대화형 노트북입니다.
AWS는 Hadoop 요구 사항을 어떻게 지원할 수 있나요?
Amazon EMR은 Apache Hadoop, Spark, HBase, Presto 등과 같은 빅 데이터 처리 프레임워크의 최신 버전을 사용하여 완벽하게 사용자 지정 가능한 클러스터에서 방대한 규모의 데이터 세트를 처리하고 분석할 수 있는 관리형 서비스입니다.
- 사용 편의성: 몇 분 만에 Amazon EMR 클러스터를 시작할 수 있습니다. 노드 프로비저닝, 클러스터 설정, 하둡 구성 또는 클러스터 튜닝은 걱정할 필요가 없습니다.
- 저렴한 비용: Amazon EMR 요금은 간단하고 예측 가능합니다. 사용한 모든 인스턴스 시간에 대해 시간당 요금을 지불하고 스팟 인스턴스를 활용하여 비용을 크게 절감할 수 있습니다.
- 탄력성: Amazon EMR을 사용하면 컴퓨팅 인스턴스를 한 개에서 수백 개 또는 심지어 수천 개까지 원하는 대로 프로비저닝해서 데이터를 처리할 수 있습니다.
- 일시성: EMRFS를 사용하여 Amazon S3에 영구적으로 저장된 HDFS 데이터를 기반으로 클러스터를 온디맨드로 실행할 수 있습니다. 작업이 완료되면 클러스터를 종료하고 데이터를 Amazon S3에 저장할 수 있습니다. 클러스터가 실행되는 컴퓨팅 시간에 대해서만 비용을 지불하면 됩니다.
- 보안: Amazon EMR은 AWS 서비스의 일반적인 보안 특성을 모두 사용합니다.
- 권한을 관리하기 위한 AWS Identity and Access Management(IAM) 역할 및 정책
- 전송 중 암호화 및 저장 중 암호화를 통해 데이터를 보호하고 HIPAA 같은 규정 준수 표준을 충족할 수 있습니다.
- 클러스터 노드에 대한 인바운드 및 아웃바운드 네트워크 트래픽을 제어하는 보안 그룹.
- AWS CloudTrail: 계정에서 수행된 모든 Amazon EMR PI 호출을 감사하여 보안 분석, 리소스 변경 추적 및 규정 준수 감사를 제공합니다.
지금 계정을 생성하여 AWS에서 Hadoop을 시작하세요.