하둡
자바로 구현된 대규모 분산처리를 위한 오픈소스 프레임워크
야후의 더그 커팅이 '넛치'라는 검색엔진을 개발하는 과정에서 개발
- 비정형 데이터를 RDB에서 처리하기에는 사이즈가 커서 새로운 기술이 필요하게 됨
- 구글에서 발표한 GFS와 MapReduce 관련 논문을 참고하여 개발
하둡의 구성
분산저장(HDFS:Hadoop Distributed File System), 병렬처리(MapReduce) 프레임워크로 구성
- 분산저장
- 여러개의 서버를 하나의 서버처럼 묶어서 데이터를 저장
- 병렬처리
- 분산되어 저장된 데이터를 데이터가 존재하는 위치에서 동시에 처리
하둡의 장단점
- 장점
- 오픈소스로 라이선스에 대한 비용 부담이 적음
- 시스템을 중단하지 않고, 장비의 추가가 용이(Scale Out)
- 일부 장비에 장애가 발생하더라도 전체 시스템 사용성에 영향이 적음(Fault tolerance)
- 저렴한 구축 비용과 비용대비 빠른 데이터 처리
- 오프라인 배치 프로세싱에 최적화
- 단점
- HDFS에 저장된 데이터를 변경 불가
- 대용량 데이터의 배치 처리에는 적합하나, 실시간 데이터 분석 같이 신속하게 처리해야 하는 작업에는 부적합
- 너무 많은 버전과 부실한 서포트
- 설정의 어려움
하둡의 버전별 특징
- 하둡 v1
- 분산저장, 병렬처리 프레임워크를 정의
- 분산저장
- 네임노드, 데이터 노드가 처리
- 병렬처리
- 잡트래커, 태스트 트래커가 처리
- 분산저장
- 클러스터당 최대 4000개의 노드를 등록 가능
- 작업 처리를 슬롯(slot) 단위로 처리
- 맵, 리듀스 슬롯을 구분하여 처리
- 분산저장, 병렬처리 프레임워크를 정의
- 하둡 v2
- YARN 구조 도입
- 병렬처리의 구조를 변경
- 클러스터 관리
- 리소스 매니저, 노드 매니저
- 작업 관리
- 애플리케이션 마스터, 컨테이너
- 클러스터 관리
- MR외 Spark, Hive, Pig 등 다른 분산 처리 모델도 수행 가능
- 클러스터당 1만개 이상의 노드가 가능
- 작업 처리를 컨테이너(container) 단위로 처리
- 병렬처리의 구조를 변경
- YARN 구조 도입
- 하둡 v3
- 이레이져 코딩 도입
- YARN 타입라인 서비스 v2 도입
- 쉘스크립트 재작성
- JAVA8 지원
반응형
'빅데이터 강좌' 카테고리의 다른 글
[빅데이터/강좌] 실무자가 알아야 할 하둡 #2.구조 (0) | 2018.05.16 |
---|