Zookeeper Getting Started

http://blog.csdn.net/cxhzqhzq/article/details/6538491

接触过zookeeper这么久了,自己也实现了一个同步的zookeeper client(放在github上,考虑过确实需要一个异步的zookeeper client,但是又考虑到自己对zookeeper本身就不了解,这么多触发的事件也不太清楚,所以暂时就不写了。不过异步的zkclient可以纳入itachi这个框架里面)。虽然对于paxos也不是非常了解,但是也算是大致了解吧(其实我觉得完全没有必要实现paxos,paxos只是一个general solution,对于zookeeper完全可以做一个specialized solution)。每次使用zkclient都是找别人的搭建好的集群。如果自己了解简单地部署zookeeper的话倒是可以很方便地进行单测。

zookeeper需要java.下载好zookeeper的package解压之后的话,在zookeeper目录下面建立data和dataLog文件夹。然后如果自己是server1的话,在data下面建立文件myid内容为1(echo "1" > data/myid)(不同实例使用不同id).对于其他机器的话也是同样的操作。然后进行conf目录(cp zoo_sample.cfg zoo.cfg),然后修改文件

TickTime=2000
initLimit=5
syncLimit=2
dataDir=/home/ransom/zookeeper/server1/data
dataLogDir=/home/ransom/zookeeper/server1/dataLog
clientPort=2181 #选择服务的端口
server.1=127.0.0.1:2888:3888 #后面这个端口范围可能是zookeeper通信的端口,可以有重叠。
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

然后在bin目录下面使用zkServer.sh restart即可。zookeeper也配置了zkCli.sh.通过zkCli.sh -server 127.0.0.1:2181即可进行交互式的界面来查看zookeeper上面的数据。