복붙노트

[HADOOP] 파일 수 Vs HDFS의 블록 수

HADOOP

파일 수 Vs HDFS의 블록 수

단일 노드 hadoop 환경을 실행 중입니다. $ hadoop fsck / user / root / my datadir -block을 실행하면 실제로 출력 결과가 혼란 스럽습니다.


Status: HEALTHY
 Total size:    998562090 B
 Total dirs:    1
 Total files:   50 (Files currently being written: 1)
 Total blocks (validated):      36 (avg. block size 27737835 B) (Total open file                                                         blocks (not validated): 1)
 Minimally replicated blocks:   36 (100.0 %)
 Over-replicated blocks:        0 (0.0 %)
 Under-replicated blocks:       36 (100.0 %)
 Mis-replicated blocks:         0 (0.0 %)
 Default replication factor:    2
 Average block replication:     1.0
 Corrupt blocks:                0
 Missing replicas:              72 (200.0 %)
 Number of data-nodes:          1
 Number of racks:               1

그것은 50 개의 파일을 작성했지만 36 블록 만 사용한다고 말합니다 (현재 작성중인 파일은 무시합니다).

내 이해에서 각 파일의 크기는 HDFS 블록 크기보다 작지만 적어도 1 블록을 사용합니다 (64MB, 기본 크기). 즉, 50 파일에 50 블록이 필요합니다. 내 이해에 어떤 ​​문제가 있습니까?

해결법

  1. ==============================

    1.파일에는 각각 전체 블록이 필요하지 않습니다. 실제로 노드를 많이 사용하는 경우에는 노드 관리에 대한 오버 헤드가 중요합니다.

    파일에는 각각 전체 블록이 필요하지 않습니다. 실제로 노드를 많이 사용하는 경우에는 노드 관리에 대한 오버 헤드가 중요합니다.

    하둡에서 – 확실한 가이드 :

    그러나 HAR, SequenceFile 또는 CombineFileIputFormat과 같은 특수 입력 형식을 사용하지 않는 한 단일 블록에는 단일 파일 만 포함됩니다. 다음은 추가 정보입니다. 작은 파일 문제 정보

  2. from https://stackoverflow.com/questions/21275082/no-of-files-vs-no-of-blocks-in-hdfs by cc-by-sa and MIT license