Zookeeper
- Zookeeper는 분산 애플리케이션을 위한 코디네이션 시스템
- Hadoop Eco System에서 사용되는 회복성 있는 분산 설정 서비스
- Zookeeper 안에서는 설정 데이터가 파일시스템과 Znode라는 노드 트리에 저장
- 각 ZNODE는 데이터를 가지고 있으며 0개 이상의 자식 노드를 가질 수 있슴
- 클라이언트는 하나의 주키퍼 서버와 연결을 맺고 ZNODE를 생성/조회/수정/삭제
Zookeeper 특징
- 클러스터에서 하나의 서버에 모든 작업이 진행되면, 작업이 진행되는 서버가 단일 실패지점 (SPOF, Single Point Of Failure)이 됨, 따라서 이로 인한 리스크를 줄이기 위해 분산 서버 관리 기술 즉 Zookeeper를 사용
- 분산처리 환경에서 예상치 못한 예외 케이스가 자주 발생, 따라서 분산된 서버들을 중앙에서 관리해주는 역할 수행
- 부분 실패(Partial Failure)
- 분산 서버들 간의 동기화를 위한 Lock 처리
- 위 문제를 해결하는 시스템을 코디네이션 서비스 즉 Zookeeper가 대표
- Zookeeper 자체에서도 문제가 발생할 수 있기 때문에 3-node 이상으로 설치 (Leader, Follower 1, Follwer 2)
Zookeeper Architecture
- 보시는 바와 같이 여러 대의 Server를 Cluster 형태로 구성하고 ZNODE라고 불리는 곳에 key:value 형태로 저장
- 저장되는 데이터는 모두 메모리에 저장되어 지며 이로 인해 '처리량이 매우 크고 빠르다'는 장점을 가짐
- 여기서 ZNODE는 Zookeeper 내에 데이터를 저장하는 공간의 이름을 지칭하는 단어이며 '컴퓨터 폴더 구조와 유사'하다는 특징을 가짐
'BigData > Hadoop' 카테고리의 다른 글
[Hadoop] Zookeeper Install (0) | 2022.11.08 |
---|---|
[Hadoop] Hadoop 이란? (0) | 2022.09.27 |
[Hadoop] Hadoop Eco System 이란? (0) | 2022.09.07 |