Zookeeper 4

Zookeeper를 이용한 분산 시스템 공용 데이터 관리

이미지 검색 시스템이 있고, 시스템 자체가 여러 대의 클러스터로 구성되어 있다. 특정 인물의 처리를 무시하기 위해서 PASS_LIST를 두어 공용으로 관리하고 싶은데 무겁게 DB까지는 쓸 필요가 없이, 주키퍼를 이용해서 노드를 만들어 놓고 데이터를 저장/접근하면 된다. (이미 주키퍼 앙상블이 구축되어 있다고 가정) 이후에, 모든 클러스터에서 주키퍼 앙상블에 접속하여 해당 노드에 저장된 값을 얻어서 의도된 작업을 수행하면 된다. ex) /abcsystem/passlist python client가 필요했기 때문에 kazoo.readthedocs.io/en/latest/basic_usage.html Basic Usage — kazoo 2.6.0 documentation To begin using Kazoo,..

dist. system 2020.11.03

Zookeeper 구조와 일관성에 대해

주키퍼 서버 구조 주키퍼 서비스를 구성하는 각 서버는 Request Processor를 제외한 각 컴포넌트의 복사본을 복제한다. 그림의 Replicated Database는 in-memory DB이며, 전체 데이터 트리를 가지고 있다. - Update의 경우엔 복구를 위해 로깅 되며, - Write의 경우엔 디스크에 serialized 되어 저장된다. 각 주키퍼 서버는 클라이언트에게 서비스를 할 수 있다. - 클라이언트는 정확히 한 대의 서버로만 요청을 보내고, - 요청 받은 서버는 로컬 레플리카 데이터베이스로 부터 요청을 서비스한다. 서비스의 상태를 변경하는 요청이 발생하는 경우 Agreement Protocol에 의해 처리 된다. * Agreement Protocol ; 모든 쓰기 요청을 '리더'를 ..

dist. system 2020.10.26

Zookeeper 설치법 정리

회사에서 이미지 검색 시스템을 구축할 때 분산 메시지 플랫폼으로 카프카를 이용하였는데, 카프카 클러스터의 코디네이션 시스템인 zookeeper를 먼저 구축해야했다. 잊기 전에 주키퍼 앙상블의 구축 방법을 간략히 정리하고, 주키퍼의 컨셉에 대해서 정리해 놓자. '카프카, 데이터 플랫폼의 최강자' 설치법 부분을 많이 참고하였다. 정말 좋은 책! 서버 세팅 (3 대) OS ; centOS 7.4 MEM ; 8GB SWAP ; 8GB Partition ; - SAS 1TB * 2 (raid 1) - / ; sda1 (100G, OS) - /data ; sda3 (나머지 몰아 줌, log 용) - /SAS 2TB * 2 ( /data1, /data2) 주키퍼 설치법 cd /usr/local wget http://..

dist. system 2020.10.26