본문 바로가기

HDFS

부록. HDFS Block

HDFS 는 Distributed file system 이고, large scale 한 파일을 저장하기 위한 용도로 많이 쓰인다는 것을 알것이다. 그럼 수천 GB 혹은TB 파일이 저장 된다고 생각해보면 이 큰 파일을 하나의 물리 노드에 쓴다는건 말이 안된다. 그래서 HDFS 는 이걸 Block 단위의 파일로 나누게 된다. Default block size 는 128M 이다. ( 원래는 64MB 였는데 버전 2.x 부터 128MB 로 바뀌었다 .정확한 버전은 기억이 안나서 ^^;; )


여튼 이렇게 파일이 쪼개져서 어떻게 저장되는지 보도록 하겠다.



ㅁ 실습

  • 1~10,000,000 까지 seq 하게 증가하는 파일을 하나 준비한다.

test.txt

1
2
3
4
...
...
...
99999999
10000000
$ ll
total xxxxxx
-rwxr-x--- 1 your_id your_group   78888897 Jun 23 17:01 test.txt



  • 아래와 같은 명령으로 hdfs 로 밀어 넣는다.

$ hdfs dfs -put test.txt hdfs:///hdfs/test.txt

  • HDFS_NAMENODE_HOST:11070 에 들어가서 확인해보면 아래와 같다.



  • 지우고 64mb 를 block size 로 설정하여 다시 올려본다.
$ hdfs dfs -rm hdfs:///hdfs/test.txt
$ hdfs dfs -Ddfs.blocksize=64m -put test.txt hdfs:///hdfs/test.txt


  • HDFS_NAMENODE_HOST:11070 에 들어가서 확인해보면 아래와 같다.