본문 바로가기
빅데이터 강좌

[빅데이터/강좌] 실무자가 알아야 할 하둡 #1.개요

by hs_seo 2018. 5. 14.

하둡

자바로 구현된 대규모 분산처리를 위한 오픈소스 프레임워크

야후의 더그 커팅이 '넛치'라는 검색엔진을 개발하는 과정에서 개발

  • 비정형 데이터를 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) 단위로 처리
  • 하둡 v3
    • 이레이져 코딩 도입
    • YARN 타입라인 서비스 v2 도입
    • 쉘스크립트 재작성
    • JAVA8 지원


반응형