바로 이동

Apache Hadoop이란?

Apache Hadoop 소프트웨어는 간단한 프로그래밍 모델을 사용하여 컴퓨터의 클러스터에서 대규모 데이터 세트를 분산 저장 및 처리할 수 있는 오픈소스 프레임워크입니다. Hadoop은 단일 컴퓨터에서 시작해 수천 대의 클러스터된 컴퓨터로까지 수직 확장할 수 있도록 설계되었으며 각 머신은 로컬 계산 기능과 스토리지를 제공합니다. Hadoop은 이러한 방식으로 기가바이트급에서 페타바이트급에 이르는 대규모 데이터 세트를 효율적으로 저장하고 처리할 수 있습니다.

Google Cloud에서 Dataproc을 사용하여 Apache Hadoop 클러스터를 보다 단순하고 통합되고 비용 효율적인 방식으로 실행하는 방법을 알아보세요.

Apache Hadoop 개요

기본 Hadoop 프레임워크는 다음과 같은 4개의 모듈로 구성되며 이러한 모듈이 함께 작동하여 Hadoop 생태계를 형성합니다.

Hadoop 분산 파일 시스템(HDFS): Hadoop 생태계의 주요 구성요소인 HDFS는 스키마를 미리 정의하지 않고도 애플리케이션 데이터에 높은 처리량으로 액세스할 수 있게 해주는 분산 파일 시스템입니다.

Yet Another Resource Negotiator(YARN): YARN은 클러스터에서 컴퓨팅 리소스를 관리하고 이를 사용하여 사용자의 애플리케이션을 예약하는 리소스 관리 플랫폼입니다. 이 모듈은 Hadoop 시스템 전체에서 예약 및 리소스 할당을 수행합니다.

맵리듀스: 맵리듀스는 대규모 데이터 처리를 위한 프로그래밍 모델입니다. 분산 및 병렬 계산 알고리즘을 사용하는 맵리듀스는 처리 로직을 전달할 수 있게 해주며, 큰 데이터 세트를 하나의 관리 가능한 세트로 변환하는 애플리케이션을 작성하는 데 유용합니다.

Hadoop Common: Hadoop Common에는 다른 Hadoop 모듈이 사용 및 공유하는 라이브러리와 유틸리티가 포함됩니다. 

모든 Hadoop 모듈의 설계 근간에는 개별 머신 또는 머신 랙의 하드웨어 오류가 일반적인 것이며 프레임워크에 의해 소프트웨어에서 자동으로 처리되어야 한다는 가정이 전제되어 있습니다. Apache Hadoop 맵리듀스 및 HDFS 구성요소는 원래 Google 맵리듀스 및 Google 파일 시스템(GFS) 문서에서 파생되었습니다.

전체 Hadoop 오픈소스 생태계는 계속 발전하고 있으며 HDFS, YARN, 맵리듀스 외에도 빅데이터의 수집, 저장, 처리, 분석, 관리에 유용한 많은 도구와 애플리케이션을 포함합니다. 여기에는 Apache Pig, Apache Hive, Apache HBase, Apache Spark, Presto 및 Apache Zeppelin이 포함됩니다.

Hadoop의 이점

내결함성

Hadoop 생태계에서는 데이터가 클러스터 전체에 복제되므로 디스크, 노드 또는 랙 장애가 발생할 경우 데이터를 쉽게 복구할 수 있으며, 이는 대규모 클러스터에서 작업을 실행할 때 개별 노드에서 높은 비율로 장애가 발생하는 경우에도 마찬가지입니다.

비용 관리

Hadoop은 다른 플랫폼보다 더 저렴한 테라바이트당 비용으로 데이터를 저장하여 비용을 관리합니다. 하드웨어에 테라바이트당 수천 달러에서 수만 달러의 비용을 지출하는 대신 Hadoop은 테라바이트당 수백 달러에 불과한 경제적인 비용으로 표준 상용 하드웨어에 컴퓨팅 및 스토리지를 제공합니다.

오픈소스 프레임워크 혁신

Hadoop은 독점적 솔루션을 사용하여 작업하는 내부 팀보다 빠르고 효과적으로 새로운 개념과 기능을 도입하기 위해 통합된 글로벌 커뮤니티의 지원을 받습니다. 오픈소스 커뮤니티의 집단적 힘은 더 많은 아이디어와 더 빠른 개발은 물론이고, 문제 발생시 문제 해결도 지원하므로 TTM(time to market)이 단축됩니다.

Hadoop의 필요성

Apache Hadoop은 급증하는 빅데이터를 보다 빠르고 안정적으로 처리해야 한다는 요구에 따라 등장했습니다. Hadoop은 데이터 기반 기업들이 빅데이터를 저장하고 파싱하기 위해 점점 더 많이 배포하고 있는 오픈소스 소프트웨어의 전체 생태계를 지원합니다. Hadoop의 분산 특성은 하드웨어에 의존해 중요한 고가용성을 실현하는 것이 아니라, 컴퓨터 클러스터의 최상층에서 가용성이 높은 서비스를 제공하는 애플리케이션 계층에서 장애를 감지하고 처리하도록 설계되어 독립적인 머신 장애의 위험을 줄여줍니다.

Hadoop은 데이터 저장 및 처리용으로 하나의 대형 컴퓨터를 사용하는 대신 여러 컴퓨터로 구성된 클러스터를 사용하여 대규모 데이터 세트를 병렬로 분석합니다. Hadoop은 다양한 형식의 구조화된 데이터와 구조화되지 않은 데이터를 처리할 수 있으므로 기업에서는 관계형 데이터베이스와 데이터 웨어하우스를 사용할 때보다 더 빠르고 유연하게 빅데이터를 수집, 처리, 분석할 수 있습니다.

Apache Hadoop의 용도

다음은 Apache Hadoop의 몇 가지 일반적인 사용 사례입니다.

분석 및 빅데이터

광범위한 기업과 조직에서 테라바이트 또는 페타바이트급의 빅데이터 처리, 다양한 데이터 세트 저장, 데이터 병렬 처리를 요하는 연구, 프로덕션 데이터 처리 및 분석에 Hadoop을 사용합니다.

수직적 산업

기술, 교육, 의료 및 금융 서비스를 비롯한 수많은 산업의 기업들은 방대하고 다양한 형식의 구조화된 데이터와 구조화되지 않은 데이터를 빠른 속도로 처리해야 하는 작업에 Hadoop을 사용합니다.  

AI 및 머신러닝

Hadoop 생태계는 인공지능 및 머신러닝 애플리케이션의 개발을 지원하는 데도 핵심적인 역할을 합니다.

클라우드 컴퓨팅

기업들은 종종 유연성, 가용성 및 비용 관리의 이점을 누리기 위해 온프레미스 하드웨어 대신 퍼블릭, 프라이빗 또는 하이브리드 클라우드 리소스에서 Hadoop 클러스터를 실행하기로 선택합니다. 많은 클라우드 솔루션 제공업체가 Google Cloud의 Dataproc과 같은 Hadoop용 완전 관리형 서비스를 제공합니다. 클라우드 기반 Hadoop을 위한 이러한 종류의 사전 패키지 서비스를 사용하면 몇 시간 또는 며칠이 걸리던 작업을 몇 초 또는 몇 분 만에 완료할 수 있으며 기업은 사용한 리소스에 대해서만 비용을 지불하면 됩니다.

Dataproc은 빠르고 사용하기 쉬운 완전 관리형 클라우드 서비스로서 Apache Spark 및 Apache Hadoop 클러스터를 더욱 간단하고 통합된 가장 비용 효율적인 방식으로 실행합니다. Dataproc은 중요한 보안, 거버넌스, 지원 요구사항을 충족하는 다른 Google Cloud 서비스와 완전히 통합되므로 데이터 처리, 분석, 머신러닝을 위한 완벽하고 강력한 플랫폼을 얻을 수 있습니다.

Dataproc, BigQuery, Notebooks, Dataflow와 같은 Google Cloud의 빅데이터 분석 도구도 상황에 맞는 다양한 애플리케이션과 새로운 분석 솔루션을 빌드하고 데이터를 활용 가능한 분석 정보로 전환하는 데 도움이 될 수 있습니다.