SW Engineering/Hadoop

Hadoop Echosystem

SungWookKang 2015. 7. 22. 09:25
반응형

Hadoop Echosystem 

   

하둡은 다양한 서브 프로젝트가 개발되면서 하둡 에코시스템(하둡 생태계)이 구성되었다. 분산 데이터를 저장하는 HDFS와 분석 데이터를 처리하는 맵리듀스가 하둡의 메인(코어) 프로젝트에 해당하며 나머지 프로젝트는 하둡의 서브 프로젝트로 관리 및 수집 등의 기능을 한다. 

 

(출처 : 시작하세요 하둡 프로그래밍 / 위키북스 http://blrunner.com/?page=13

   

[Zookeeper] 

분산 환경에서 서버간의 상호 조정이 필요한 다양한 서비스 제공. 로드 밸런스, 동기화, HA 등 분산환경을 구성하는 서버들의 환경설정을 통합적으로 관리 

   

[Oozie] 

하둡 작업을 관리하는 워크플로우 및 코디네이터 시스템. 자바 서블릿 컨테이너에서 실행되는 자바 웹 어플리케이션이며 맵리듀스 작업이나 피그 작업 같은 워크 플로우 제어. 

   

[HBase] 

HDFS 기반의 컬럼 기반 데이터베이스. 구글의 BigTable 논문을 기반으로 개발. 실시간 랜덤 조회 및 업데이트 가능. 각 프로세스는 비동기 방식으로 업데이트 가능. (맵리듀스는 일괄 방식으로 처리) 

   

[Pig] 

복잡한 맵리듀스 프로그래밍르 대체한 Pig Latin 이라는 자체 언어 제공. 맵리듀스 API를 단순화 시켰으며 SQL과 유사한 형태로 설계. 

   

[Hive] 

하둡 기반의 데이터웨어하우징용 솔루션. 페이스북에서 개발. SQL과 유사한 HiveQL 쿼리 제공. 자바를 모르는 데이터분석가들도 쉽게 하둡 데이터 분석 가능. HiveQL은 내부적으로 맵리듀스 잡으로 변환되어 실행 

   

[Mahout] 

하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈 소스. Classfication, clustering, Regression, Dimension Reduction, Evolutionary Algorithms 등 알고리즘 지원. 

   

[HCatalog] 

하둡으로 생성한 데이터를 위한 테이블 및 스토리지 관리 서비스. 가장 큰 장점은 HCatalog를 이용하면 Hive에서 생성한 테이블이나 데이터 모델을 Pig나 맵리듀스에서 쉽게 활용 할 수 있어 하둡 에코시스템 간의 상호 운용성 향상된다. 

   

[Avro] 

데이터 직렬화를 지원하는 프레임워크. JSON을 이용해 데이터 형식과 프로토콜을 정의하며 작고 빠른 바이너리 포맷으로 데이터를 직렬화 한다. 

   

[Chukwa] 

분산 환경에서 생성되는 데이터를 HDFS에 안정적으로 저장하는 플랫폼. 각 서버의 Agent로부터 데이터를 받아 HDFS에 저장. 콜렉터는 100개의 Agent 당 하나씩 구동되며 데이터 중복 제거 등 맵리듀스로 처리한다. 

   

[Flume] 

척와(Chukwa)처럼 분산도니 서버에 에이전트가 설치되고 에이전트로부터 데이터를 전달 받는 콜렉터로 구성. 전체 데이터 흐름을 관리하는 마스터 서버가 있어 데이터의 수집 및 저장 위치를 동적으로 변경 가능하다. 

   

[Scribe] 

척와와는 다르게 중앙으로 데이터를 전송하는 방식. 최종 데이터는 HDFS외에 다양한 저장소를 활용할 수 있으며 설치와 구성이 쉬우며 다양한 프로그래밍 언어를 지원. HDFS에 저장하려면 JNI(Java Native Interface)를 사용해야 한다. 

   

   

[다양한 에코시스템]  

 

   

 

   

   

 

   

   

   

[참고자료] 

  시작하세요 하둡 프로그래밍 (위키북스) 

  http://www.apache.org/ 

   

   

2013-10-21 / 강성욱 / http://sqlmvp.kr 

반응형

'SW Engineering > Hadoop' 카테고리의 다른 글

HDFS 블록 파일 시스템  (0) 2015.07.22
HDFS 소개  (0) 2015.07.22
Hadoop 용어  (0) 2015.07.22
Hadoop?  (0) 2015.07.22
Linux (CentOS)방화벽 설정  (0) 2015.07.22