1. 블록
- HDFS 파일은 지정한 크기의 블록으로 나누어지고, 각 블록은 독립적으로 저장
- 블록은 탐색 비용을 최소화하기 위해 128MB와 같이 매우 큼
- 블록이 크면 하드디스크에서 블록의 시작점을 탐색하는 데 걸리는 시간을 줄임
- 네트워크를 통해 데이터를 전송하는데 더 많은 시간을 할당
- 여러 개의 블록으로 구성된 대용량 파일을 전송하는 시간은 디스크 IO 속도에 크게 영향
2. 블록 추상화의 이점
- 파일 하나의 크기가 단일 디스크의 용량보다 더 커짐
- 큰 파일을 블록 단위로 나누어 단일 디스크의 용량보다 큰 파일 저장 가능
- 파일 단위보다 블록 단위로 추상화를 하면 스토리지의 서브 시스템을 단순하게 구현 가능
- 파일 탐색 지점이나 메타정보를 저장할 때 사이즈가 고정됨으로 구현이 단순
- 복제를 구현할 때 매우 적합
- 블록 단위로 복제를 구현하기 때문에 데이터 복제에도 어려움 없이 처리
- 내고장성을 제공
3. 블록 지역성
- 맵리듀스를 처리할 때 현재 노드에 저장된 블록을 이용하여 성능을 높임
- 네트워크를 이용한 데이터 전송 시간 감소
- 대용량 데이터 확인을 위한 디스크 탐색 시간 감소
- 적절한 단위의 블록 크기를 이용한 CPU 처리시간 증가
4. 블록 작업 순서
- 같은 노드에 있는 데이터
- 같은 랙의 노드에 있는 데이터
- 다른 랙의 노드에 있는 데이터
5. 블록스캐너
- 데이터노드는 주기적으로 블록 스캐너를 실행하여 블록의 체크섬을 확인
- 오류가 발생하면 수정
6. 블록 캐싱
- 자주 사용하는 블록을 블록 캐시라는 데이터노드의 메모리에 명시적으로 캐싱
- 캐싱: 파일 복사본을 캐시 또는 임시 저장 위치에 저장하여 보다 빠르게 접근할 수 있도록 하는 프로세스
$ hdfs cacheadmin
Usage: bin/hdfs cacheadmin [COMMAND]
[-addDirective -path <path> -pool <pool-name> [-force] [-replication <replication>] [-ttl <time-to-live>]]
[-modifyDirective -id <id> [-path <path>] [-force] [-replication <replication>] [-pool <pool-name>] [-ttl <time-to-live>]]
[-listDirectives [-stats] [-path <path>] [-pool <pool>] [-id <id>]
[-removeDirective <id>]
[-removeDirectives -path <path>]
[-addPool <name> [-owner <owner>] [-group <group>] [-mode <mode>] [-limit <limit>] [-maxTtl <maxTtl>]
[-modifyPool <name> [-owner <owner>] [-group <group>] [-mode <mode>] [-limit <limit>] [-maxTtl <maxTtl>]]
[-removePool <name>]
[-listPools [-stats] [<name>]]
[-help <command-name>]
# pool 등록
$ hdfs cacheadmin -addPool pool1
Successfully added cache pool pool1.
# path 등록
$ hdfs cacheadmin -addDirective -path /user/hadoop/shs -pool pool1
Added cache directive 1
# 캐쉬 확인
hdfs cacheadmin -listDirectives
Found 1 entry
ID POOL REPL EXPIRY PATH
1 pool1 1 never /user/hadoop/shs
7. 세컨더리 네임노드
- Fsimage와 Edits 파일을 주기적으로 merge하여 최신 블록의 상태로 파일을 생성
- 파일을 merge하며 Edits파일을 삭제하기 때문에 디스크 부족 문제도 해결
- Edits 파일이 많이 생성되면 디스크 부족 문제를 야기하거나 네임노드가 재구동 되는 시간을 저하

'분산처리 > 빅데이터-하둡, 하이브로 시작하기' 카테고리의 다른 글
2-4) HDFS 기능 2 (0) | 2023.07.18 |
---|---|
2-3) HDFS 기능 1 (0) | 2023.07.17 |
2-2) HDFS (0) | 2023.07.16 |
2-1) 하둡이란? (0) | 2023.07.16 |
1-3) 빅데이터 에코시스템 (0) | 2023.07.16 |