BigData/Hadoop

[Hadoop] Zookeeper 란?

twoDeveloper 2022. 11. 8. 10:22

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