지구정복

[Zookeeper] Zookeeper 개념 및 구성요소 본문

데이터 엔지니어링 정복/Zookeeper

[Zookeeper] Zookeeper 개념 및 구성요소

eeaarrtthh 2021. 5. 7. 17:35
728x90
반응형
SMALL

1. 개념

더보기

수십에서 수천 대의 서버에 설치돼 있는 빅데이터 분산 환경을 더욱 효율적으로 관리하기 위해서는 서버 간의 정보를 쉽고 안전하게 공유해야 한다. 공유된 정보를 이용해 서버 간의 중요한 이벤트(분산락, 순서제어, 부하 분산, 네임서비스 등)를 관리하면서 상호작용을 조율해 주는 코디네이터 시스템이 필요한데, 이것이 바로 주키퍼이다.

주키퍼는 하둡, HBase, 카프카, 스톰 등의 분산 노드 관리에 사용 중이다. 


2. 구성요소

더보기

 

-Client : 주키퍼의 ZNode에 담긴 데이터에 대한 쓰기, 읽기, 삭제 등의 작업을 요청하는 클라이언트이다.

 

-ZNode : 주키퍼 서버에 생성되는 파일시스템의 디렉터리 개념, 클라이언트의 요청 정보를 계층적으로 관리(버전, 접근권한, 상태, 모니터링 객체 관리 등의 기능 지원)

 

-Ensemble : 3대 이상의 주키퍼 서버를 하나의 클러스터로 구성한 HA아키텍처

(항상 홀수로 구성한다. 리더 서버를  선출할 때 동점이 나오면 안되기 때문이다)

 

-Leader Server : Ensemble 안에는 유일한 리더 서버가 선출되어 존재하며, 클라이언트의 요청을 받은 서버는 해당 요청을 리더 서버에 전달하고, 리더 서버는 모든 팔로워 서버에게 클라이언트 요청이 전달되도록 보장한다.

 

-Follower Server : Ensemble안에서 한 대이 리더 서버를 제외한 나머지 서버, 리더 서버와 메시지를 주고받으면서 ZNode의 데이터를 동기화하고 리더 서버에 문제가 생길 경우 내부적으로 새로운 리더를 선출하는 역할 수행

 

 

 

 

728x90
반응형
LIST

'데이터 엔지니어링 정복 > Zookeeper' 카테고리의 다른 글

[Zookeeper] zookeeper 수동설치  (0) 2021.05.19
Comments