주키퍼는 상호조정에 필요한 다양한 데이터 구조체와 프로토콜 구축을 위한 풍부한 프리미티브를 제공한다.
Coordinating Distributed Applications with ZooKeeperDownload
http://www.apache.org/dyn/closer.cgi/zookeeper/
Setup Running Replicated ZooKeeper
$ vi ${ZOOKEEPER_HOME}/conf/zoo.cfg
zoo.cfg 설정파일을 생성하여 아래 설정들을 추가해준다.
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/data/zookeeper/data <!-- 실제 사용할 위치를 설정해준다 -->
# the port at which the clients will connect
clientPort=2181
<!-- replicated 로 사용할 서버 목록을 나열한다. -->
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
각 서버에 위에서 설정한 myid 값을 설정한다.
zoo1:$ cat > /data/zookeeper/data/myid
1
zoo2:$ cat > /data/zookeeper/data/myid
2
zoo3:$ cat > /data/zookeeper/data/myid
3
RUN
$ bin/zkServer.sh start
log를 별도로 설정하지 않으면 ${ZOOKEEPER_HOME}/zookeeper.out 에 로그가 남는다.
Client Test
bin/zkCli.sh -server 127.0.0.1:2181
~~~~~~~~~~~~~~~~~~WATCHER:: WatchedEvent state:SyncConnected type:None path:null [zk: localhost:2181(CONNECTED) 0]
참고
http://zookeeper.apache.org/doc/trunk/