본문 바로가기

AI/빅데이터

3.하둡-2

HDFS Federation
-네임노드는 파일 정보 메타데이터를 메모리에서 관리하는데 파일이 많아지면 메모리 사용량이 늘어나 메모리 관리에 문제가 생긴다. 이를 해결하기 위해 HDFS Federation을 지원함.
HDFS Federation은 디렉토리 단위로 네임노드를 등록하여 사용한다. HDFS Federation을 사용하면 파일, 디렉토리의 정보를 가지는 네임스페이스와 블록의 정보를 가지는 블록 풀을 각 네임노드가 독립적으로 관리한다.
네임스페이스와 블록풀을 네임스페이스 볼륨이라하고 네임스페이스 볼륨을 독립적으로 관리되기 때문에 하나의 네임노드에 문제가 생겨도 다른 네임노드에 영향을 주지않음.

HDFS High Availability
-HDFS는 네임노드가 단일 실패 지점임,  네임노드에 문제가 생기면 모든 작업이 중단되고 파일을 읽고 쓸 수 없게됨. 이 문제를 해결하기 위해 HDFS High Availability을 지원함

HDFS High Availability는 이중화된 두대의 서버인 액티브 네임노드와 스탠바이 네임노드를 이용하여 지원함.

액티브 네임노드와 스탠바이 네임노드는 데이터 노드로부터 블록 리포트와 하트비트를 모두 받아 동일한 메타데이터를 유지하고 공유 스토리지를 이용하여 에디트파일을 공유함

액티브 네임노드는 네임노드의 역할을 수행하고 스탠바이 네임노드는 액티브 네임노드와 동일한 메타데이터 정보를 유지하고 액티브 네임노드에 문제가 발생한다면 스탠바이 네임노드가 액티브 네임노드로 동작함.

스탠바이 네임노드는 세컨더리 네임노드의 역할을 동일하게 수행하므로 HDFS High Availability 모드를 설정했을때는 세컨더리 네임노드를 실행하지 않아도 됨.

 

HDFS safemode
-HDFS 세이포모드는 데이터 노드를 수정할 수 없는 상태이다. 세이프 모드가 되면 데이터는 읽기 전용 상태가 되고 데이터의 추가와 수정, 복제가 불가능함 관리자가 세이프 모드를 설정 할 수 있으며, 네임노드에 문제가 생기면 자동으로 세이프모드로 전환됨

세이프 모드 상태의 확인, 진입, 해제 커맨드는 다음과 같다.

#세이프 모드 상태 확인
$ hdfs dfsadmin - safemode gey
Safe mode is OFF

#세이프 모드 진입
$hdfs dfsadmin -safemode enter
Safe mode is ON

#세이프 모드 해제
$hdfs dfsadmin - safemode leave
Safe mode is OFF

 

HDFS 휴지통 기능

-HDFS는 실수에 의한 파일 삭제를 방지하기 위해 휴지통 기능을 제공한다.

휴지통 기능이 설정돼있다면 파일이 바로 삭제되지 않고 각 사용자 홈디렉터리 아래 휴지통 디렉터리로 이동이 되고 휴지통에 들어간 파일은 복구할 수 있다.

설정 설명
fs.trash.interval 체크포인트를 삭제하는 시간 간격(분), 0으로 설정하면 휴지통 기능 끔
fs.trash.checkpoint.interval 체크포인트를 확인하는 간격(분), fs.trash.interval보다 같거나 작아야한다. 체크포인터가 실행될 때마다 체크포인트를 생성하고 유효기간이 지난 체크포인트는 삭제

Corrupt 블록

-HDFS는 하트비트를 통해 데이터 블록에 문제가 생기는 것을 감지하고 자동으로 복구를 진행한다. 다른 데이터 노드에 복제된 데이터를 가져와 복구를 한다. 모든 복제 블록에 문제가 생겨서 복구 하지 못하게 되면 Corrupt 상태가 된다.

Corrupt 상태의 파일들을 모두 삭제하고 원본 파일은 HDFS에 올려주어야 한다.

명령어 설명
fsck 커럽트 상태의 블록과 복제 개수가 부족한 블록의 정보를 확인

 

'AI > 빅데이터' 카테고리의 다른 글

3.하둡-YARN  (0) 2021.02.18
3.하둡-맵리듀스  (0) 2021.02.18
3.하둡-1  (0) 2021.02.17
2.빅데이터 처리단계  (0) 2021.02.16
1.빅데이터  (0) 2021.02.16