Hadoop 분산파일 시스템

반응형

하둡이란 ?

하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크이다. 하둡은 구글이 논문으로 발표한 GFS(Google File System)과 맵리듀스를 2005년 더그커팅이 구현한 결과물이다. 하둡은 분산시스템인 HDFS(Hadoop Distributed File Syste)에 데이터를 저장하고, 맵리듀스를 이용해 데이터를 처리한다.

하둡은 여러 대의 서버에 데이터를 저장하고, 저장된 각 서버에서 동시에 데이터를 처리하는 방식이다. 하둡은 기존의 RDBS(Oracle,MS-SQL,MySQL)을 대치하는 것이 아니다. 즉 트랜잭션이나 무결성을 보장해야 하는 데이터처리에는 적합하지 않다. 하둡은 배치성으로 데이터를 저장하고 처리하는데 적합한 시스템이다.

쇼핑물에서 회원가입이나, 결제진행 등은 모두 트랜잭션이 무결성을 보장해야 한다. 이런 것 들을 하둡으로 처리하는 것이 아니라, 회원이 관심있게 보는 물품들이나, 이동경로, 머무르는 시간 등 배치성으로 저장되는 데이터에 적합하다. 이런 것들을 매번 비용이 비싼 RDBMS에 저장하면 낭비요소이다. 그러므로 하둡은 RDBMS와 경쟁하는 것이 아닌 RDBMS와 협력하는 것이라 볼 수 있다.

 

HDFS 설계

배경 : HDFS는 범용 하드웨어로 구성된 클러스터에서 실행되고 스트리밍 방식의 데이터 접근 패턴으로 대용량 파일을 다룰 수 있도록 설계된 파일시스템이다.

- 매우 큰 파일

매우 큰의 의미는 수백 메가바이트, 기가바이트 또는 테라바이트 크기의 파일을 의미한다. 최근에는 페타바이트 크기의 데이터를 저장하는 하둡 클러스터도 있다.

- 스트리밍 방식의 데이터 접근

HDFS가장 효율적인 데이터 처리 패턴은 한 번 쓰고 여러 번 읽는 것이라는 아이디어에서 출발했다. 데이터 셋은 생성되거나 원본으로부터 복사된다. 그리고 시간이 흐르면서 다양한 분석을 수행할 수 있다. 분석이 전부는 아니지만 첫 번째 레코드를 읽는 데 걸리는 지연 시간보다 전체 데이터 셋을 모두 읽을 때 걸리는 시간이 더 중요하다.

 

- 범용 하드웨어

하둡은 고가의 신뢰도 높은 하드웨어만을 고집하지는 않는다. 하둡은 노드 장애가 발생할 확률이 높은 범용 하드웨어(여러 업체에서 제공하는 쉽게 구할 수 있는 하드웨어)로 구성된 대형 클러스터에서 문제없이 실행되도록 설계되었다.

2014HDFS데이터노드와 YARN 노드 매니저를 구동하기 위한 컴퓨터 사양

-      프로세서 : 헥사/옥타-코어 3GHZ CPU2

-      메모리 : 64 ~ 513GB ECC RAM

-      스토리지 : 1 ~ 4TB SATA 디스크 12 ~24

-      네트워크 : 링크 통합 기능을 지원하는 기가비트 이더넷

v하둡을 운영하는 여러명의 사용자가 ECCR가 아닌 메모리를 사용한 하둡 클러스터에서 체크섬 오류가 발생한 것을 보고했다. 따라서 ECC 메모를 권장한다. 또한 하둡 에코시스템이 메모리를 상당히 많이 요구하므로 최소 128GB 이상의 메모리를 추천한다.

반응형

댓글

Designed by JB FACTORY