반응형
Apache Hadoop 이란?
- 여러 컴퓨터로 구성된 클러스터를 이용하여 빅 데이터를 처리하기 위한 분산 처리 프레임웍.
- OLTP(OnLine Transaction Processing - 웹과 같이 응답이 바로 필요한 시스템 ) 보다는 OLAP(OnLine Analytical Processing - 데이터를 모아서 처리 후 일정 시간 이후에 응답을 주는 형태 ) 를 위해 디자인된 시스템으로 수분에서 수일이 소요되는 빅 데이터 처리에 적합한 프레임웍.
- Map & Reduce 라는 아키텍쳐 사용. 하나의 큰 데이터를 여러 조각으로 나워서 처리 ( Map ) 하는 과정과 처리 결과를 모아서 하나로 합쳐 결과를 내는 단계 ( Reduce ) 로 나뉘어 진다.
이미지 출처 : http://www-01.ibm.com/software/ebusiness/jstart/hadoop/
- Map & Reduce 를 하기 위해서는 다음과 같은 공간들이 필요하다.
- 위 공간들은 전체 분산 처리 시스템에서 접근이 가능해야 하고, 대용량의 데이터를 저장할 수 있어야 한다. Hadoop 에서는 이 공간들을 분산 파일 시스템 ( Distributed File System ) 으로 지정하여 사용하며, 이를 HDFS 이라 한다.
1. 데이터를 조각조각 나눠 저장할 공간.
2. 데이터 조각을 처리한 임시 결과를 저장할 공간.
3. 데이터 결과 조각들을 합쳐 저장할 공간.
- 위 공간들은 전체 분산 처리 시스템에서 접근이 가능해야 하고, 대용량의 데이터를 저장할 수 있어야 한다. Hadoop 에서는 이 공간들을 분산 파일 시스템 ( Distributed File System ) 으로 지정하여 사용하며, 이를 HDFS 이라 한다.
- Hadoop 은 크게 분산 데이터 처리를 위한 Map&Reduce 모듈 (MR)과 Input/Output 데이터를 저장하는 파일시스템인 HDFS 로 구성되어 있다.
- HDFS 는 크게 2개로 나뉜다. Namenodes, Datanodes.
Namenodes & Datanodes
- Namenodes : 일종의 master node 로 파일들에 대한 메타 데이터를 저장하는 노드.
- Datanodes : 실제 파일을 저장하고 읽어오는 노드.
- Namenodes 에는 모든 블록에 대한 메타정보가 들어가 있기 때문에, Namenodes 가 장애가 나면 전체 HDFS 장애가 나는 SFP ( Single Failure Point ) 가 된다.
- 블럭(Block) 은 HDFS 의 Read, Write 의 최소 단위를 말한다. 블럭사이즈는 64M 가 기본이고, 보통 128M 를 사용한다. 큰 블럭사이즈를 사용하는 이유는 MR 처리에 있어서 Map Task 가 하나의 파일 사이즈 단위로 처리를 하기 때문에 작은 용량의 파일 엑세스에 비해 효율적으로 처리할 수 있다. NameNodes 에서 관리해야 할 데이터 양도 적어진다.
- Hadoop 은 일반 x86 PC 서버에 Disk 를 붙인 형태의 저가 서버 여러개를 연결하여 대규모 분산 파일 시스템을 구축할 수 있다. ( 경제적으로 서버 구축이 가능하다. )
- Namenode 는 데이터를 저장할 때 장애를 대비하여 N 개의 datanode 에 복제해서 저장한다. 그래서 Read operation 을 수행할 때 가장 가까이에 있는 복제본을 return 한다.
도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x )
반응형
'IT 놀이터 > General' 카테고리의 다른 글
[용어] EFL 이란? ( Enlightenment Foundation Libraries ) (0) | 2012.10.13 |
---|---|
[용어] 매시업 ( Mashup ) 이란? - 혹은 매쉬업 (0) | 2012.10.13 |
[용어] CDN이란? ( Contents Delivery Network ) (0) | 2012.10.13 |
[용어] freemium ( 프리미엄 )이란? (0) | 2012.10.13 |
[License] GPL License 에 대한 상업적 이용에 대한 궁금증을 파헤친다. (5) | 2012.08.10 |
댓글