hdfs

Post on 23-Jun-2015

779 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Hdfs hadoop file system

TRANSCRIPT

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

차례

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

차례

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

3.1 HDFS설계

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

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

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

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

3.1 HDFS기초

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

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

3.1 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

3.1 HDFS 설계의 특징

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

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

3.1 HDFS 설계의 특징

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

3.2 HDFS개념

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

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

…. 왜 이렇게 큰가..?

3.2 HDFS개념

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

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

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

블록 구조 파일 시스템

1 2 3 4 5

320M 파일

블록 구조 파일 시스템

1 2 3 4 5

320M 파일

1

3

4

2

3

4

1

3

5

2

4

5

1

2

5

블록 구조 파일 시스템

1 2 3 4 5

320M 파일

1

3

4

2

3

4

1

3

5

2

4

5

1

2

5

블록 구조 파일 시스템

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

네임노드와 데이터 노드

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

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

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

네임노드와 데이터 노드

보조네임노드과 고가용성

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

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

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

보조네임노드과 고가용성

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

보조네임노드과 고가용성

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

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

보조네임노드과 고가용성

HDFS에서의 파일 저장

HDFS에서의 파일 읽기

top related