복붙노트

[HADOOP] HDFS는 사용 가능한 블록을 어떻게 계산합니까?

HADOOP

HDFS는 사용 가능한 블록을 어떻게 계산합니까?

블록 크기가 128MB라고 가정하면 클러스터에는 10GB (약 80 개의 사용 가능한 블록)가 있습니다. 디스크에서 128MB를 차지하는 10 개의 작은 파일 (블록 파일, 체크섬, 복제 ...)과 10 개의 HDFS 블록을 만들었다 고 가정합니다. HDFS에 다른 작은 파일을 추가하려면 사용 가능한 블록을 계산하기 위해 HDFS에서 사용 된 블록 또는 실제 디스크 사용량을 어떻게 사용합니까?

80 개 블록-10 개 블록 = 70 개의 사용 가능한 블록 또는 (10GB-128MB) / 128MB = 79 개의 사용 가능한 블록?

감사.

해결법

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

    1.블록 크기는 HDFS에 클러스터를 통해 파일을 분할 및 분배하는 방법을 나타냅니다. HDFS에는 물리적으로 예약 된 블록 수가 없습니다 (원하는 경우 각 개별 파일의 블록 크기를 변경할 수 있음)

    블록 크기는 HDFS에 클러스터를 통해 파일을 분할 및 분배하는 방법을 나타냅니다. HDFS에는 물리적으로 예약 된 블록 수가 없습니다 (원하는 경우 각 개별 파일의 블록 크기를 변경할 수 있음)

    예를 들어 복제 요소와 체크섬 파일도 고려해야하지만 기본적으로 블록 크기보다 작은 파일을 많이 추가한다고해서 '사용 가능한 블록'이 낭비 된 것은 아닙니다. 복제가 파일을 저장하는 데 필요한 물리적 데이터 공간을 증가 시킨다는 점을 기억해야하며 '사용 가능한 블록'의 수는 두 번째 계산에 더 가깝습니다.

    마지막 참고 사항-작은 파일이 많으면 이름 노드에 파일을 추적하는 데 더 많은 메모리가 필요하며 (블록 크기, 위치 등) 일반적으로 단일 128MB 파일보다 128x1MB 파일을 처리하는 데 효율성이 떨어집니다 (방법에 따라 다름) 다시 처리)

  2. from https://stackoverflow.com/questions/15678235/how-hdfs-calculate-the-available-blocks by cc-by-sa and MIT license