hdfs

25
하둡 분산 파일 시스템 HDFS 아꿈사

Upload: choi-mun-gyu

Post on 23-Jun-2015

779 views

Category:

Education


0 download

DESCRIPTION

Hdfs hadoop file system

TRANSCRIPT

Page 1: Hdfs

하둡 분산 파일 시스템HDFS아꿈사

Page 2: Hdfs

차례

3.1 HDFS설계3.2 HDFS개념3.3 명령행 인터페이스3.4 하둡 파일시스템3.5 자바 인터페이스3.6 데이터 흐름3.7 데이터 이관을 위한 플룸과 스쿱3.8 distcp 병렬복사3.9 하둡 아카이브

Page 3: Hdfs

차례

3.1 HDFS설계3.2 HDFS개념3.3 명령행 인터페이스3.4 하둡 파일시스템3.5 자바 인터페이스3.6 데이터 흐름3.7 데이터 이관을 위한 플룸과 스쿱3.8 distcp 병렬복사3.9 하둡 아카이브

Page 4: Hdfs

3.1 HDFS설계

- HDFS(Hadoop Distributed FileSystem)- 대용량 파일 시스템

DAS(Direct-Attached Storage) 서버에 직접 연결된 스토리지ex) 외장하드

NAS(Network-Attached Storage) 파일써버, 별도의 운영체제위에 구동첨부파일, 이미지 저장

SAN(Storage Area Network) 수십,수백대의 SAN스토리지를 데이터 서버에 연결해서 총괄적으로 관리해주는 네트워크DBMS와 같이 안정적이고 빠른접근이 필요한 데이터를 저장하는데 적합

Page 5: Hdfs

3.1 HDFS기초

- 저사양 서버를 이용해 스토리지 구성이 가능- 여러대를 묶어 하나의 스토리지 처럼 사용- 파일저장,읽기 제어는 API통해서

- 고성능, 고가용성 -> SAN- 안정적인 파일 저장 -> NAS- 대규모 데이터 저장,배치 처리 -> HDFS

Page 6: Hdfs

3.1 HDFS 설계의 특징

목적 : 범용 하드웨어로 구성된 클러스터에서 실행되고 데이터 액세스 패턴을 스트리밍 방식으로 지원하여 매우 커다란 파일을 저장할 수 있도록 설계된 파일 시스템

Page 7: Hdfs

3.1 HDFS 설계의 특징

1. 매우 커다란 파일- 수백 MB, GB, TB파일을 저장참고. FAT32=4GB NTFS=4~64GB

2. 스트리밍 방식, 데이터 엑세스 The utility allows you to create and run Map/Reduce jobs with any executable or script as the mapper and/or the reducer

Page 8: Hdfs

3.1 HDFS 설계의 특징

3. 장애복구- 빠른 장애 감지, 데이터 복제

4. 데이터 무결성- 입력 변경 제한, 한번 저장한 데이터 수정 불가(0.20)

Page 9: Hdfs

3.1 HDFS 설계의 특징

5. 많은 수의 작은 파일 - 메타데이터 메모리 관리, 관리하는 파일의 수 증가 -> 메타데이터 증가 ->자원낭비

Page 10: Hdfs

3.2 HDFS개념

- 블록이란..?한 번에 읽고 쓸 수 있는 데이터의 최대량

linux/win = 512bytes ; BlockHDFS =64M ; Chunk

…. 왜 이렇게 큰가..?

Page 11: Hdfs

3.2 HDFS개념

HDFS블록은 왜 이렇게 큰가..?- 탐색의 비용 최소화- 탐색비용 최소 -> 데이터 전송에 집중- 맵리듀스의 테스크 단위도 블록

- 계산하기 쉽다.- 복제를 효율적으로 수행

Page 12: Hdfs

블록 구조 파일 시스템320M 파일

Page 13: Hdfs

블록 구조 파일 시스템

1 2 3 4 5

320M 파일

Page 14: Hdfs

블록 구조 파일 시스템

1 2 3 4 5

320M 파일

1

3

4

2

3

4

1

3

5

2

4

5

1

2

5

Page 15: Hdfs

블록 구조 파일 시스템

1 2 3 4 5

320M 파일

1

3

4

2

3

4

1

3

5

2

4

5

1

2

5

Page 16: Hdfs

블록 구조 파일 시스템

- 블록단위(64MB)로 나눈다- 3개의 복제본을 생성- 여러 곳에 저장

Page 17: Hdfs

네임노드와 데이터 노드

- HDFS는 마스터-슬레이브 아키텍처로 구성- 마스터(네임노드)- 슬레이브(데이터 노드)

- 네임노드는 HDFS의 메타데이터 관리- 클라이언트가 데이터 노드에 접근할 수 있게

- linux/win같은 계층형 파일 시스템- 주기적으로 데이터 노드는 네임노드에 heartbeat/blockreport를 전송

Page 18: Hdfs
Page 19: Hdfs

네임노드와 데이터 노드

Page 20: Hdfs

보조네임노드과 고가용성

- 네임노드는 메타데이터를 관리하기 위해Editlog,FsImage

Editlog : 메타데이터의 변화를 기억,용량 제한X네임노드의 로컬 시스템에 파일로 저장FsImage : 네임스페이스와 파일에 대한 블록 매핑 정보를 저장. 일종의 스냅샷

*네임스페이스(디렉토리명,파일명,상태정보)

Page 21: Hdfs

보조네임노드과 고가용성

<로그동작 방식>1. 네임노드가 구동되면 로컬에 저장된 FsImage와 editlog파일을 조회2. editlog파일에 있는 내용을 토대로 메모리에 올라와 있는 FsImage와 를 갱신3. 메모리에 올라와있는 FsImage와 를 로컬 파일에 있는 파일 시스템 이미지 파일에 적용4. editlog파일을 초기화

Page 22: Hdfs

보조네임노드과 고가용성

<단점>- editlog파일의 크기는 무제한으로 증가 - editlog파일이 너무 크다면 FsImage갱신 시,오랜 시간 소요

이러한 문제 점들을 해결하기 위해 보조네임노드를 사용

Page 23: Hdfs

보조네임노드과 고가용성

Page 24: Hdfs

HDFS에서의 파일 저장

Page 25: Hdfs

HDFS에서의 파일 읽기