HDFS Federation (다중 네임노드를 사용한 네임스페이스 분리)
· Version : HDFS
HDFS는 매우 큰 파일을 분산하여 저장하도록 설계된 Hadoop의 File System이다. HDFS 아키텍처는 Master/Slave 토폴로지로 구성되며 Master는 NameNode이며, Slave는 DataNode이다. NameNode는 메타 데이터(블록의 수, 복제본 위치 등)를 저장하고, 메타 데이터는 빠른 검색을 위해 마스터의 메모리에서 관리된다. NameNode는 슬레이브 노드를 유지 관리하고 작업을 할당한다.
HDFS V2이전에는 전체 클러스터에 대한 단일 네임스페이스만 허용한다. 이 구성에서 단일 네임노드는 네임 스페이스를 관리한다. 네임노드에 장애가 발생하면 클러스터 전체가 서비스를 하지 못하며 네임노드가 다시 시작되거나 별도의 시스템으로 가져올때까지 클러스터를 사용할 수 없다. 또한 파일이 많아지면 네임노드의 메모리 사용량이 증가하게 되고, 메모리 관리 이슈가 발생하기 때문에 이 문제를 해결하기 위해 Hadoop V2부터 HDFS Federation(페더레이션)을 지원한다. 페더레이션은 HDFS에 디렉터리(네임스페이스) 단위로 네임노드를 등록하여 사용한다.
HDFS 페더레이션을 사용하면 파일, 디렉터리의 정보를 가지는 네임스페이스와 블록의 정보를 가지는 블록 풀을 각 네임노드가 독립적으로 관리한다. 페더레이션을 사용한 장점은 아래와 같이 정리할 수 있다.
· 네임스페이스와 블록풀을 네임스페이스 볼륨이라고하며 네임스페이스 볼륨은 독립적으로 관리되기 때문에 하나의 네임노드에 문제가 생겨도 다른 네임노드에 영향을 주지 않는다.
· HDFS 페이레이션에서 서로 다른 범주의 프로그램 및 사용자를 다른 네임스페이스로 격리하여 사용할 수 있다.
· 페러데이션에서 네임노드 및 네임스페이스는 수평으로 확장된다.
· 노드를 추가하여 읽기/쓰기 작업 처리량을 향상 시킬 수 있다.
HDFS 페더레이션에 대한 설정은 Hadoop 공식 문서인 아래 링크를 참고 한다.
· HDFS Federation : https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/Federation.html
[참고자료]
· HDFS Federation : https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/Federation.html
2019-12-02 / Sungwook Kang / http://sungwookkang.com
Hadoop, HDFS Federation, HDFS 페더레이션, 분산 네임노드, 다중 네임스페이스
'SW Engineering > Hadoop' 카테고리의 다른 글
HDFS 고가용성 (High Availability) 개념 (0) | 2019.12.05 |
---|---|
Python으로 Hive 연결하기 (0) | 2019.12.04 |
Hive 테이블 생성 (0) | 2019.11.27 |
Hive Architecture (0) | 2019.11.26 |
HBase와 Zookeeper 상호작용 관계 (0) | 2019.11.21 |