HDFS와 대용량 데이터 처리 2012. 3. 26. 콘텐츠서비스연구팀 최완
발표순서 I. Hadoop 개요 II. Hadoop 프로젝트 III. Hadoop 장,단점 IV. Q&A
1. Hadoop 개요(1/2) 많은 컴퓨터들의 클러스터 조직을 통해 대용량 데이터 집중 분산 애플리케이션을 지원하는 자유 자바 소프트웨어 프레임워크 (by 위키피디아) 분산 파일 시스템(Distributed File System) 분산 데이터 처리 시스템 (MapReduce) 분산 데이터베이스(Hbase)
1. Hadoop 개요(2/2) Hadoop의 필요성 저장 데이터의 대용량화 : 파일 저장 안정성의 필요성 대두 서버의 활용 방식 변화 : 저비용 서버의 클러스터 화
2. Hadoop 프로젝트(1/3) HDFS(Hadoop Fille System) : 대용량 데이터 분산 처리 파일 시스템 MapReduce : 데이터 처리를 위한 프로그래밍 모델 ZooKeeper : 분산환경에서 노드 간의 정보 공유, 락, 이벤트, 모니터링 등의 용도 Pig : Hadoop에 저장된 대용량 데이터 분석(SQL활용) Hbase : 분산 데이터베이스 Hive : Hadoop에 저장된 대용량 데이터 분석(SQL활용, 테이블 개념이 있음) Chukwa : 분산된 노드의 시스템 모니터링, 응용프로그램 로그, Hadoop 로그 수집, HDFS로 저장, 분석하기 쉬운 형태로 재수정해주는 도구 Core Avro MapReduce HDFS Zoo Keeper Pig Chukwa Hive
2. Hadoop 프로젝트(2/3) HDFS의 특징 대용량, 저비용 파일 쓰기만 지원 Data Block : 64MB Highly fault-tolerant : Data Replication 빠른 접근성 보다는 높은 처리량 제공 NameNode : File System Namespace DataNode : HDFS 내 metadata 관리 Node 번호 순으로 선형적인 파일 시스템 추가 가능
2. Hadoop 프로젝트(3/4) HDFS 아키텍쳐
2. Hadoop 프로젝트(4/4) MapReduce 데이터 처리를 위한 프로그래밍 모델 Map : 입력 쌍을 사용, 중간 key, Value 출력 흩어져 있는 데이터를 Key, Value 의 형태로 연관성 있는 데이터 분류로 묶는 작업. Reduce : 중간 키값을 이용 결과값 출력 저비용 Map 화 한 작업 중 중복 데이터를 제거하고 원하는 데이터를 추출하는 단계
2. Hadoop 프로젝트(4/4) MapReduce 사례
3. Hadoop 장,단점 장점 단점 파일에 대한 백업/복구가 거의 필요 없음 많은수의 대용량 파일 처리 가능하며 추가 백업이 필요없음 장비의 추가, 제거가 자유로움 특정 노드 장애시 별도의 복구 절차 없이 지속적인 서비스 가능 파일 접근에 병목이 발생하지 않음 파일이 클 경우 Map&Reduce를 이용 병렬처리 가능 단점 단순한 DFS가 아님, 파일을 위한 저장소가 아니라 데이터 저장소 일반 파일에 비해 3배 이상의 write속도 저하 (파일 생성시 복사본 까지 저장함) 기본 3개의 복사본 저장하므로 3배의 디스크 공간 필요 파일 생성후에는 읽기 작업만 발생하는 시스템에 적합(Facebook, twitter, 게임 로그, 검색 등) 실시간 시스템에는 부적합
Q & A