본문 바로가기
빅데이터/hadoop

[hadoop][fsck] HDFS의 상태를 점검 할 수 있는 명령어

by hs_seo 2017. 4. 10.

HDFS의 fsck 명령

- HDFS 상의 다양한 불일치(블록 누락, 복제 되지 않은 블록)를 확인

- 오류를 발견하고 수정하지는 않음(NameNode가 복구가능한 오류는 자동으로 수정)

- 열린 파일은 무시함 


> hadoop fsck /

Status: HEALTHY

 Total size:     3984631262 B   # 현재 사용중인 byte (hadoop fs -du -s / 명령어와 동일한 값)

 Total dirs:     678

 Total files:    3453

 Total symlinks: 0

 Total blocks (validated):    3450 (avg. block size 1154965 B)

 # 최소 개수로 복제된 블록 

 Minimally replicated blocks: 3450 (100.0 %)         

 # 기본 설정값 보다 더 복제된 블록의 수, 기본 복제값을 넘어서는 블록은 자동으로 삭제됨

 Over-replicated blocks:      0 (0.0 %)              

 # 기본 복제값에 맞지 않게 복제된 플록의 수

 Under-replicated blocks:     2650 (76.81159 %)      

 # block replica placement policy 규정에 위반된 블록(같은 랙에 복제 되면 규정 위반이기 때문에 다른 랙에 복제 되어야 함)

 Mis-replicated blocks:       0 (0.0 %)              

 # hdfs-site.xml 에 위치한 dfs.replication 의 설정값 

 Default replication factor:  2                      

 # hdfs상 파일들의 복제값의 평균 

 Average block replication:   2.0                    

 # 오류가 발생한 블록, 정상적인 블록이 있다면 네임노드가 정상블록을 복제하여 복구 

 Corrupt blocks:              0                     

 # 복제 블록이 존재하지 않는 블록 

 Missing replicas:            7872 (53.29001 %)      

 # 데이타 노드 개수

 Number of data-nodes:        2

 # 데이타 노드가 존재하는 랙의 개수 

 Number of racks:             1

FSCK ended at Mon Apr 10 00:33:07 UTC 2017 in 139 milliseconds


기본적으로 hdfs에 문제가 발생하면 NameNode가 자동적으로 복구를 진행한다. 

커럽트된 파일을 사용자가 삭제하기 위해서는 -move, -delete 명령을 이용하면 된다. 


# 커럽트 파일을 /lost+found 위치로 이동

> hadoop fsck -move

# 커럽트 파일을 삭제

> hadoop fsck -delete




반응형