주키퍼 | http://zookeeper.apache.org/ Hbase, Kafka, Hadoop.. 범용적인 분산 코디네이터. |
|
라이센스 | Apache | |
유사프로젝트 | Chubby, Doozerd, Consul | |
주요 구성요소 |
Client | 주키퍼의 ZNode에 담긴 데이터에 대한 쓰기, 읽기, 삭제 등의 작업을 요청하는 클라이언트 |
주요 구성요소 - 서버 |
Ensemble | 3대 이상의 주키퍼 서버를(**홀수 구성) 하나의 클러스터로 구성한 Ha아키텍처 |
ZNode | 주키퍼 서버에 생성되는 파일시스템의 디렉터리 개념으로, 클라이언트의 요청 정보를 계층적으로 관리 (버전, 접근 권한, 상태, 모니터링 객체 관리등의 기능지원) |
|
Leader Server |
Ensemble 안에는 유일한 리더 서버가 선출되어 존재하며, 클라이언트의 요청을 받은 서버는 해당 요청을 리더 서버에 전달하고, 리더 서버는 모든 팔로워 서버에게 클라이언트 요청이 전달되도록 보장. | |
Follower Server |
Ensemble 안에서 한 대의 리더 서버를 제외한 나머지 서버로서, 리더 서버와 메시지를 주고 받으면서 ZNode의 데이터를 동기화 하고 리더 서버에 문제가 발생할 경우 내부적으로 새로운 리더를 선출하는 역할 수행. | |
아키텍처 | ||
![]() Client : 분산 서버. 공유할정보가 있으면 주키퍼 앙상블에 기록을하자 약속. 특정 분산서버 수정하면 FloowerServer에 작성.. -> 리더서버 전달. -> 나머지 싱크 맞춤. 주키퍼 앙상블 - 환경설정정보 동기화, : 메타정보 로드발란싱(동기화), 패이로버(한대 죽어도 나머지 살아있어사용가능) : 클러스터 1번~N번 서버정보 맴버쉽으로 묶어 주키퍼에 기록해놓고 있음. :클러스터 맴버십 관리 4번서버 장애 > 주키퍼에 4번서버정보 삭제됨. - 분산락 : 분산서버는 반드시 마스터가 필요함. Client1 마스터 지정. 주키퍼에 서버1 마스터락을받음. 나머지는 락번호낮음 마스터가 장애가 나면, 전체 클러스터문제 >> 다른 서버 마스터 지정.(그다음 락 낮은번호 자동지정) - 마스터 선출 |
||
활용방안 | 스마트카 파일럿 프로젝트에서는 주키퍼를 직접적으로 활용하지 않는다. 하둡, HBase, 카프카, 내부에서 주키퍼에 의존해 클러스터 멤버십 기능 및 환경설정의 동기화 등을 사용하고 있어 없어서는 안될 중요 소프트웨어다. |
|
'Data' 카테고리의 다른 글
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 13]HBase (0) | 2021.05.27 |
---|---|
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 12]적재-실시간 로그/분석 (0) | 2021.05.27 |
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 10]하둡 (0) | 2021.05.26 |
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 09]적재-대용량로그파일 (0) | 2021.05.26 |
[1028 from 실무로 배우는 빅데이터 기술 By 김강원 08]수집- 카프카 (0) | 2021.05.24 |