Skip to content

[09-23] 하둡: 빅파일은 어떻게 저장될까? #14

@snaag

Description

@snaag

하둡: 빅파일은 어떻게 저장될까?

용어

  • Cluster
    • 컴퓨터들, 노드, 서버들의 그룹
    • 데이터 스토리지, 프로세싱 및 자원 관리
  • Node
    • 클러스터의 각각의 컴퓨터
    • Master Node: 자원 및 Job 분산 및 관리
    • Worker Node: 각각의 실행을 하는 Node
  • Demon
    • 부모 프로세스 없이 특정 작업을 위해서만 실행되는 프로세스
    • 각 노드에서 특정 작업을 수행하는데 사용됨

image

하둡코어 > 스토리지 -> HDFS

  • HDFS 의 분산 파일 시스템을 사용하여 Hadoop Cluster 에 저장됨
    • Hadoop Cluster: 기본적으로 수백~수천개의 서버가 결합되어있음
  • 중복저장, 장애감내 시스템으로 빅데이터 관리
  • 빅데이터를 처리하는 연산 프로그램은 분산된 각 파일에서 실행됨

HDFS

HDFS 란

  • Hadoop Distributed File System
  • Java 로 되어있으며, GFS 를 바탕으로 함
  • (기존의 File System 를 대체하는 것이 아니라) 범용 File System 에서 돌아가는 분산 File System

HDFS 의 특징

  • 중복 등 대용량 파일 을 관리하는데 좋은 성능 및 기능 을 갖고 있음
    • 최소 각 파일은 100MB 이상
  • "write once" - 한번 생성하면 변경 불가
  • 큰 사이즈의 파일순차적으로 읽기 에 최적화 되어있음
    • 대용량 파일 처음부터만 읽을 수 있음
  • 최소 I/O 가 64MB ~ 128MB 로, block 사이즈가 커질수록 좋음
    • 128MB 라는 큰 사이즈의 블럭으로 나누어서 저장
    • 각 블럭은 적어도 3개 이상의 복사본으로 저장
  • NameNode 는 Metadata 저장

HDFS 의 파일 저장 방법

  • 데이터 파일은 128MB 블럭으로 나뉘어져서 분산 저장
  • 각 블럭은 적어도 3개 이상의 복사본으로 저장됨
    • 한 Node 장애 시 다른 Node Block 사용
  • 이러한 저장 정보는 Name Node 라는 Master node 에 저장됨
  • Hadoop Job 이 데이터 접근하고 싶으면 Name Node 의 metadata 에 접근해서 사용함

HDFS 의 NameNode

  • 파일을 찾기 전 무조건 들려야 할 필수적인 Node
    • Hadoop Cluster 에서 꼭 살아있어야 하는 중요한 Node = 디몬 프로세스
  • 이 NameNode 가 돌아가는 Node = MasterNode
    • High Availability (HA) 를 위해 2개의 NameNode 주로 사용
    • Cluster 가 작다면 하나만 사용함

HDFS 의 파일 쓰기와 읽기

  • 정보는 Metadata 에 저장 (in NameNode)
    • 위치, 접근 가능 여부
  • 데이터 전송은 NamdeNode 를 안거치고 바로 데이터노드에서 받아옴
  • 항상 돌아가는 NameNode 디몬 프로세스
    • 항상 런 되어야 하고, 아니면 CLuster 다운된것임

image

출처

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions