본문 바로가기

Etc/Zookeeper

(5)
Zookeeper Golang Client Zookeeper Golang Client : github.com/go-zookeeper/zk go-zookeeper/zk Native ZooKeeper client for Go. Contribute to go-zookeeper/zk development by creating an account on GitHub. github.com Zookeeper에서 제공하는 Client Library는 Java와 C 두 종류 밖에 없는듯 하다. Zookeeper 앙상블을 구성하고, Golang으로 작성된 프로그램에서 Zookeeper를 사용하기 위해 Client Library를 검색해 보았고, 가장 Star가 많길래.. 한번 사용해 보았다. package zookeeper import ( "fmt" "log" "t..
Zookeeper 활용 시나리오 (Recipes And Solutions) ZooKeeper공식 문서를 보면 Recipes라고, zookeeper를 사용하는 방법에 대해 나와있는 문서가 있다. 이 포스팅에서 그 중 몇가지에 대해 알아보도록 하자. zookeeper.apache.org/doc/r3.6.2/recipes.html Barriers barrier는 분산시스템에서 클라이언트의 집합이 있을 때, 클라이언트가 진행할 수 있는 조건이 충족될때까지 클라이언트의 처리를 차단하는 것, 쉽게 말해서 클라이언트들은 barrier node를 생성하려고 시도하며, barrier node를 생성한 클라이언트만 작업을 수행할 수 있도록 구성하여, 클라이언트 집합에서 한번에 한 클라이언트만 작업을 할 수 있도록 막는 것이다. pseudo code Client 는 Zookeeper API인 ex..
zookeeper Replication (3 host clustering) 설정하기 이전 포스팅에서 zookeeper 설치 및 환경 설정을 해보았는데, 이번 포스팅에서 zookeeper를 3개 host에서 실행하고 keepalived를 사용하여 하나의 vip로 묶는과정까지 진행해보자. 1. zookeeper 설정파일 zoo.cfg파일 내용이다. 이전 포스팅에서 설정파일에 대한 설명이 나와있으니 자세한 설명을 생략! tickTime=2000 dataDir=/~~/~~/~~/zookeeperDataDir clientPort=2181 initLimit=5 syncLimit=2 server.1=10.113.78.147:2888:3888 server.2=10.113.79.117:2888:3888 server.3=10.113.97.243:2888:3888 * zoo.cfg파일의 dateDir에 m..
Zookeeper 설치 및 환경설정 1. jdk 설치 구글링해서 설치해봅시다. 2. zookeeper 설치 2-1. zookeeper 다운로드 여기에서 stable 버전 다운, 나는 3.6.2버전 다운 받았다. zookeeper.apache.org/releases.html wget https://downloads.apache.org/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz 2-2. 압축 풀기 tar xzf apache-zookeeper-3.6.2-bin.tar.gz 2-3. 설정파일 생성 설정 파일(zoo.cgf), zoo_sample.cfg가 있긴한데 zoo.cfg 만들자 vi zoo.cfg tickTime - zooKeeper에서 사용하는 기본 시간 단위 (밀리세컨드) ..
Apache zookeeper란? Apache zookeeper 공식 문서에 나와있는 zookeeper의 정의는 "분산 어플리케이션을 위한 분산 코디네이션 서비스"이다. ZooKeeper: A Distributed Coordination Service for Distributed Applications 분산 어플리케이션을 위한 분산 코디네이션 서비스.. 이 단어 모음을 보고 한 번에 이해가 간다면 당신은 이미 서버 아키텍처에 대해 상당한 이해를 갖고 있는 거라고 생각한다. 분산 어플리케이션이 뭔지도 잘 모르겠는데, 이를 코디네이션 하는 서비스..? 차차 알아가 보자... 1. 분산 시스템이란? 주키퍼를 통해 관리한다는 분산 어플리케이션(정확한 의미를 위해 분산 시스템이라고 하겠다)이란 말 그대로 하나의 시스템이 여러 서버에 분산되어 있는..