IT 용어정리/H2014. 4. 25. 00:27

하둡 분산 파일 시스템(HDFS, Hadoop distributed file system)은 하둡 프레임워크를 위해 

자바 언어로 작성된 분산 확장 파일 시스템이다. 따라서 자바가 지원되는 곳에서 실행이 가능하다.


HDFS의 구조는 다음과 같다.







### HDFS 시스템의 특징

가. HDFS의 시스템은 처리되는 일반적인 파일 크기가 커서 많은 거대한 파일을 잘 처리. 

나. 한번만 쓰고 여러번 읽는다.

다. random access가 아니기에 빠르게 Access가 가능하다.

라. 결함의 탐지가 빠르고 복구가 빠름.(높은 신뢰성 보장)

    A. 여러기계에 대용량 파일들을 나눠서 저장, 

    B. 데이터들을 여러 서버에 중복 저장

마. 'Blocks'단위로 파일을 저장한다. (Block 기본 Size - 64MB)



### HDFS Architecture(HDFS 구조)

가. Master/Slave 구조

     A. NameNode(Master) 하나의 namespace와 metadata를 가진다.    

       1) 모든 HDFS Metadata를 위한 중재자 및 저장소

       2) file system namespace 동작을 수행

            (open, close, 파일 및 디렉토리 이름 변경)

       3) 데이터 노드와 블록들의 맵핑을 결정.

       4) 클라이언트에 의한 파일 접근을 제한.

       5) DataNode이 살아있는지 Overload인지 주기적인 통신을 수행.

       6) RAM 위에 Metadata가 유지되어 파일 시스템의 Metadata size는 NameNode의 이용 가능한 RAM으로 제한된다.(in Memory)

     

    B. DataNode(Slave) - 노드가 실행될 때마다 노드에 추가되는 스토리지 관리. 

       1) 클라이언트로부터의 읽기(read), 쓰기(write)의 기능을 담당.

       2) Namenode의 지시위에 Block 생성, 삭제, 복제 기능 담당.

       3) Local File 시스템위의 파일을 HDFS 데이터로 저장하는 기능

       4) Block 단위로 컨텐츠를 저장한다.

       5) 각각의 블록은 3+ DataNodes에 복사본을 가진다.

       6) NameNode에 주기적으로 모든 Block에 대한 레포트를 보낸다.


    C. Client

       1) 파일 위치와 metadata에 대해 Namenode에 묻는다.




Posted by 예영교육연구소