본 포스팅은 제가 2013년 네이버 하둡스터디 카페에 포스팅했던 공개 강의 글입니다.
This is a public lecture that I posted on Hadoop Study Cafe of Naver in 2013.
이전 세션에서는 클라우드 컴퓨팅과 빅데이터, 구글 시스템 소프트웨어에 대해서 알아보았습니다.
아래 링크를 통해 이전 세션 글을 보고 오시면 더욱더 많은 도움이 될 것 같습니다.
2023.12.22 - [hadoop study] - Hadoop Study Session #2 구글 시스템 소프트웨어 (Google System Software)
이번 세션의 주제는 하둡 개요로 하둡을 소개하는 시간을 가져보도록 하겠습니다.
하둡(Hadoop)은 여러 컴퓨터로 구성된 클러스터를 이용하여 큰 사이즈의 데이터를 처리하기 위한 분산처리 프레임워크로 여러대의 서버들로 scale out 할 수 있도록 디자인 되어진 Apache Open Source Project 중 하나입니다. 현재 빅데이터 분석에 가장 선호되어지고 사용되고 있는 솔루션이라고도 할 수 있습니다. 실제로 야후와 페이스북 등에 사용되고 있습니다.
하둡의 주요 구성요로소는 하둡 분산 파일 시스템인 HDFS(Hadoop Distributed File System), NoSQL 데이터베이스인 HBase, 대용량 데이터 분석 및 처리 프레임워크인 MapReduce가 있으며, 기타로 Pig, Hive, Zookeeper, Sqoop 등의 Hadoop을 기반으로 하는 다양한 오픈소스 분산 처리 프로젝트가 존재합니다.
HDFS와 HBase는 각각 구글 시스템 소프트웨어의 구글 파일 시스템 GFS(Google File System)과 구글 데이터 베이스인 빅테이블(BigTable)의 Clone Project입니다. 하둡은 기본적으로 x86 기반의 서버들로 스토리지(HDFS)를 구성하고 HDFS에 저장된 데이터를 분산하여 분석 처리할 수 있는 Java기반의 MapReduce 프레임워크를 제공합니다. [1]
하둡의 자세한 정보는 http://hadoop.apache.org 에서 확인하실 수 있습니다.
먼저 하둡의 등장 배경 부터 알아보도록 하겠습니다.
하둡은 미국의 더크 커팅(Doug Cutting)에의해 개발되었습니다.
오픈소스 검색 엔진인 너치(Nutch)를 개발 중이던 야후의 개발자인 더크 커팅(Doug Cutting)과 마이크 카파렐라(Mike Cafarella)는 웹 검색에서 발생되는 데이터를 분산 처리하는데 많은 어려움을 느끼고 있었습니다. 이때 구글의 파일 시스템인 GFS(Google File System)과 Google MapReduce 논문을 접하게 되며, 2005년 논문을 보고 그대로 자바로 이를 구현하기 시작하였으며, 이렇게 개발된 소프트웨어가 바로 하둡입니다. 하둡은 자바로 개발되었기때문에, 기본적으로 JVM(Java Virtual Machine) 위에서 동작하게 됩니다.
하둡 개발자인 더그 커팅은 2006년부터 야후의 개발자로 하둡을 개발하고, 이 후 하둡의 상용 배포판을 출시하며, 아파치 하둡의 개발을 주도하는 회사인 'cloudera'에 2009년 합류하게 됩니다.
하둡은 개발 초기에는 너치의 하위 프로젝트로 존재하였으며, 2006년 Apache의 최상위 Top-Level 프로젝트로 승격하게 됩니다.
하둡은 현재 많은 상용 배포판들이 있습니다. Hadoop의 시작은 Apache Hadoop으로 Project로 운영되고 있다는 것은 위에서 말씀드려 아실 겁니다.
기본 버전은 버그 및 하둡 에코시스템 간의 상호 호환성, 관리 및 구성의 어려움 등으로 여러 업체에서 Apache Hadoop에 기타 S/W와 Sub Project를 적용하여 Customizing형식으로 Packaging 하여 상용 배포판이 출시되고 있으며, 대표적인 하둡 상용 배포판으로는 Cloudera의 CDH(Cloudera's for Apache hadoop)과 Amzone의 EMR(Elastic MapReduce) 등이 있습니다.
Cloudera에서 배포하는 Hadoop 상용 배포판은 현재 전세계에서 가장 신뢰받고 있고 있습니다.
업체명 | 배포판 명칭 및 특징 |
Cloudera | - 명칭: CDH(Cloudera's Distribution for Apache Hadoop) - 특징: HDFS, MapReduce, Flume, HBase, Hive, Mahout, Oozie, Pig, Sqoop, Whirr, Zookeeper, Hue 등 거의 몯든 에코시스템이 포함된 (가장 높은 선호도) |
Hortonworks | - 명칭: HDP (Hortonworks Data Platform) - 특징: HDFS, MapReduce, Pig, Hive, HBase, Zookeeper, HCatalog 등 다양한 하둡 에코시스템을 기반으로 구성되며, 다양한 개방형 REST API를 제공하는 것이 특징 |
MapR Technologies | - 명칭: MapR EDITIONS - 특징: 성능 개선을 위해 자바에 C를 더하였으며, HDFS를 자사의 플랫폼으로 대체함 |
EMC | - 명칭: GreenPlum UAP(Unified Analytics Platform) - 특징: 정형 데이터는 대용량 병렬처리(MPP, Massively Parallel Processing) 방식의 그린플럼 데이터베이스를 이용하여 분석하고 비정형 데이터는 MapR기반으로 분석 |
Amazon | - 명칭: EMR(Elastic MapReduce) - 특징: 아마존의 클라우드 컴퓨팅 서비스인 EC2(Elastic Compute Cloude)나 S3(Simple Storage Service)에 최적화된 하둡, HIVE, PIG 제공 |
Hstreaming | - 명칭: HStreaming - 특징: Hadoop 기반의 실시간 데이터 분석 플랫폼으로 PIG를 확장시켜서 실시간 처리 기능을 추가 |
[출처: 정재화, "시작하세요 하둡프로그래밍" - 위키북스 내용 참고하여 정리]
위 [그림 3]에서 Hadoop은 HDFS, MapReduce, HBase 이외의 다양한 오픈 소스 프로젝트들로 구성되는 것을 알 수 있습니다.
대부분의 오픈 소스 프로젝트들은 Hadoop Study Session #1-3 빅데이터(Big Data) 주요기술 세션 에서 설명하였었습니다. 기억이 나지 않으시는 분들은 아래 링크의 이전 세션에 가셔서 한번더 확인하시면 좋을 것 같습니다.
2023.12.19 - [hadoop study] - Hadoop Study Session #1-3 빅데이터 (BigData) 주요 기술
이번 세션에서는 Hadoop의 개요, 등장 배경, 하둡의 상용 배포판에 대해 알아보았습니다.
다음 세션에서는 하둡의 구조와 하둡 생태계(Hadoop EcoSystem)에 대해 살펴보는 시간을 가지겠습니다.
많은 관심 부탁드립니다.
[참 고]
[1] 조성우, "Big Data 시대의 기술", KT종합기술원 중앙연구소
'hadoop study' 카테고리의 다른 글
Hadoop Study Session #2 구글 시스템 소프트웨어 (Google System Software) (2) | 2023.12.22 |
---|---|
Hadoop Study Session #1-3 빅데이터 (BigData) 주요 기술 (1) | 2023.12.19 |
Hadoop Study Session #1-2 빅데이터(BigData) 등장 배경과 중요성 (0) | 2023.12.19 |
Hadoop Study Session #1-1 빅데이터 (BigData) (0) | 2023.12.19 |
Cloud Computing Study Session #1-4 클라우드 컴퓨팅 (Cloud Computing) 서비스 및 구조 (0) | 2023.12.19 |
댓글