ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 하둡(Hadoop)에 관하여
    ComputerScience/DB,Cloud 2020. 6. 12. 22:49

    하둡에 대해 알아보자. 데이터가 쌓여가는 빅데이터의 시대에 RDBMS에 데이터를 저장하는 시도는 불가능하다. 이에 새로 나온 데이터 저장 기술이 하둡인데 이에 대해 알아봅시다.

     

     

    1. 하둡(Hadoop)이란?

     하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임 워크. 구글이 논문으로 발표한 GFS를MapReduce를 구현한 결과물이다 . HDFS(Hadoop Distributed File System)에 데이터를 저장하고, 맵리듀스를 이용해 데이터를 처리한다. 여러 대의 서버에 데이터를 저장하고, 저장된 각 서버에서 동시에 데이터를 처리하는 방식. 기존의 RDBMS를 대치하는 것이 아니다.

    1.1 특징

    1) HDFS는 데이터를 저장하면, 다수의 노드에 복제 데이터도 함께 저장해서 데이터 유실을 방지

    2) HDFS에 파일을 저장하거나, 저장된 파일을 조회하려면 스트리밍 방식으로 데이터에 접근해야 함

    3) 한번 저장된 데이터는 수정할 수 없고, 읽기만 가능. 무결성 보장

    4) 장애 복구가 빠르게 감지 가능하고 대처 가능하다

     

    1.2 아키텍쳐

    HDFS는 마스터와 슬레이브 구조 마스터가 슬레이브들을 제어하는 형태,

    마스터 역할을 수행하는 서버를 네임노드, 슬레이브 역할을 수행하는 서버를 데이터노드 라고 한다.

     

     

    네임노드는 메타데이터를 갖고 있고 데이터 노드를 모니터링하며 블록관리 및 클라이언트의 요청을 접수한다.

    데이터노드는 클라이언트가 HDFS에 저장하려는 데이터를 로컬디스크에 유지한다.

    2. HDFS(Hadoop Distributed File System)

     수십 테라바이트 or 페타바이트 이상의 대용량 파일을 분산된 서버에 저장하고 그 데이터를 빠르게 처리할 수 있게 하는 파일시스템이다. 저사양의 서버를 이용하여 스토리지를 구성할 수 있어 기존의 대용량파일시스템(NAS,DAS,SAN 등)에 비해 장점을 가진다.

     

    3. 맵리듀스(MapReduce)

     대용량의 데이터 처리를 위한 분산 프로그래밍 모델, 소프트웨어 프레임워크. 맵리듀스 프레임워크를 이용하면 대규모 분산 컴퓨팅 환경에서 대량의 데이터를 병렬로 분석이 가능하다. 프로그래머가 직접 작성하는 맵(Map)과 리듀스(Reduce)라는 두 개의 메소드로 구성된다. 맵리듀스 시스템은 Client, JobTracker, TaskTracker로 구성된다. JobTracker는 NameNode에, TaskTracker는 DataNode에 위치한다.

    3.0.Client, JobTracker, TaskTracker

     1)Client : 사용자가 실행한 맵리듀스 프로그램과 하둡에서 제공하는 맵리듀스 API

     

     2)JobTracker : 클라이언트가 하둡에 실행을 요청할 때, 발생되는 맵리듀스 프로그램은 job이라는 단위로 관리하는데 그 전체 잡의 스케줄링을 관리 모니터링 해준다. 

     

     3)TaskTracker : 하둡의 데이터노드 서버에서 실행되는 데몬(백그라운드에서 여러 작업을 수행하는 프로그램, 사용자가 직접 제어하지 않음), 사용자가 설정한 맵리듀스 프로그램을 실행

    잡트래커가 명령하면 요청받은 맵과 리듀스 수 만큼의 맵 태스크와 리듀스 태스크를 생성

    3.1 맵(Map)

     흩어져 있는 데이터를 연관성 있는 데이터들로 분류하는 작업(맵이기 때문에 Key, Value의 형태)

     

    3.2 리듀스(Reduce)

     Map에서 출력된 데이터를 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업

     

     

    CF) YARN (Hadoop 2.0)

     하둡 분산 파일 시스템 상단에서 빅 데이터용 애플리케이션들을 실행하는 대용량 분산 운영체제를 수행

     얀을 이용하면 안정적인 기반에서 배치작업과 양방향 실시간 작업을 수행할 수 있음.

     잡 트래커의 주요 기능 추상화

     잡 트래커의 주요 기능인 클러스터 자원 관리와 애플리케이션 라이프 사이클 관리를 분리

     

    댓글

Designed by Tistory.