본문 바로가기

좋아하는 것_매직IT/2.hadoop

4.hadoop, 하둡의 핵심 기술관련 분산파일 시스템에 대해서 정리해보자.

반응형

블로그 목적

  • 아파치 하둡의 기술구성요소 중 분산파일 시스템에 대해서 정리해본다.

아파치 하둡(Apache Hadoop)이란?

  • 대규모 검색 색인을 구축하려고 자바로 개발된 오픈 소스 분산 플랫폼을 말함.
  • 개발목적
    • 최초
      • 검색 색인
    • 이후
      • 다방면으로 활용되고 차츰 개선되어, 대규모 원시 데이터를 처리하고 분석하는 데이터 센터 운영 시스템의 핵심 소프트웨어 생태계를 이루게됨.
  • 아파치 하둡의 웹페이지

그럼, 하둡의 기술 구성 요소 중 분산파일 시스템에 대해서 정리해보자.

  • 하둡 스토리지 
    • HDFS(Hadoop Distributed File System)
    • 구글의 GFS(Google File System)을 기반으로 설계됨.
      • 데이터의 중복 저장이란 개념을 바탕으로 한 대규모 분산 파일 시스템을 말함.
      • 일반적인 파일 시스템을 가진 여러 노드를 묶어 하나의 분산 파일 시스템을 구축하도록 설계됨.
        • 즉, 해당 설계로 인해서, 파일 시스템을 손쉽게 확장할 수 있음.
      • HDFS 설계의 3가지 목표
        • 하나, 데이터의 풀스캐닝을 지원하기 위해 파일 순차 읽기(sequential read) 속도가 빨라야함.
        • 둘, 데이터가 계산이 수행되는 곳으로 옮겨지는게 아니라, 데이터가 저장된 곳에서 계산이 수행될 수 있게 파일시스템의 노드들이 각자 자신이 저장한 데이터의 위치 정보를 충분히 교환해야 함.
        • 셋, 노드의 장애를 소프트웨어 Layer 에서 극복해야 함.

그럼, HDFS 의 아키텍처에 대해서 알아보자.

    • 설명
      • 분산파일 시스템의 데이터를 읽거나 저장하려는 클라이언트는 필요한 HDFS 일부분과 직접 통신함.
        • 만약, 단순히 파일 목록이 필요한 클라이언트는, 네임노드에 직접 접속해 메타데이터를 요청함.
        • 데이터를 읽거나 저장하려는 클라이언트는, 그림과 같이 네임노드에서 필요한 블록위치를 요청한 후 해당 블록을 저장하는 서버들과 직접 통신함. 
      • Backup 노드 
        • 다른말로, 체크포인트 노드라고 부름
        • 해당 서버는 장애 극복을 위해 대기하는 보조 노드가 아님
          • 즉, 네임노드에 장애가 발생해도 해당 네임노드를 대신할 수 없음.
        • but, 네임노드의 장애에 대비해서 장애 발생직접의 마지막 상태를 보존하는 체크포인트를 주기적으로 저장하는 역할을 함.
      • 선에 대한 설명
        • 점선
          • 파일 시스템과 노드의 상태 정보 흐름
        • 실선
          • 메타데이터와 데이터의 흐름
  • HDFS 웹페이지

그럼, HDFS 의 분산 처리에 대해서 알아보자.

  • HDFS 내부에 데이터는 Block 형태로 저장됨.
  • 해당 Block은 HDFS에 의해 투명하게 복제되고 여러 노드에 분산됨.
    • 위치 투명성(location trasparency) 이란?
      • 파일의 물리적인 섹터가 여러 장소(Disk or Network)에 나눠 저장되도 파일 이름만으로 파일에 접근 할 수 있는 특징을 말함.
        • 즉, 물리적인 상황을 논리적인 개념으로 추상화 한것을 의미함.
  • 그리고, HDFS 의 리플리케이션 메커니즘은 데이터를 단순히 여러 노드에 저장하는 방식이 아닌, 데이터가 여러 rack 에 분산 저장되도록 보장하는 다양한 전략을 사용함.
    • 즉, 리플리케이션을 통해서, 단일 node or 단일 rack 의 장애가 데이터의 유실로 이어지는 사태를 방지할 수 있음.

결론

  • 아파치 하둡이란, 대규모 검색 색인을 구축하려고 자바로 개발된 오픈 소스 분산 플랫폼을 말함.
  • HDFS 의 분산처리는
    • HDFS 내부에 데이터는 Block 형태로 저장됨.
    • 해당 Block은 HDFS에 의해 투명하게 복제되고 여러 노드에 분산됨.
    • HDFS 의 리플리케이션 메커니즘은 데이터를 단순히 여러 노드에 저장하는 방식이 아닌, 데이터가 여러 rack 에 분산 저장되도록 보장하는 다양한 전략을 사용함.
  • 오늘도 하둡관련 분산파일 시스템에 대해서 공부 및 정리완료! 감사합니다.

  • 나의 목표 및 다짐을 항상 내곁에 두기.
    • 목표
      • 나의 강점을 바탕으로 나의 일을 잘해냄으로써 타인과 사회를 아릅답게 만든다.
        • 현재 내가 가진 능력으로 누군가에 도움이 될 수 있을까? 에 대해서 항상 생각하기
    • 목표를 이루기 위한 실천방안
      • 꾸준한 블로깅/기록법/독서법으로 넘버원이 아닌 온리원이 되보자.
      • 천사불여일행(千思不如一行)을 항상생각하며 체화 및 각인시키자.
        • "천번 생각하는것보다 한번 행동하는 것이 더 중요하다."
      • 기기일약 불능십보(騏驥一躍 不能十步) / 노마십가 공재불사(駑馬十駕 功在不舍)
        • 천리마도 한번에 열걸음을 뛸 수 없고, 느리고 둔한말이라도 열흘이면 하룻길을 간다.
      • 모든 실수에는 마술이 숨어 있다. 따라서 나는 실수하면 실수할수록, 그런 실수에서 더 많이 배울수록 삶에서 더 많은 마술을 갖는다.
728x90
300x250