zookeeper 集群

step 1:apache

下载zookeeper :从http://zookeeper.apache.org找一个稳定版下载,例如:zookeeper-3.4.8.tar.gz测试

(http://apache.fayea.com/zookeeper/)命令行

step2:server

建3个集群的目录:zk0, zk1, zk2.事务

把zookeeper-3.4.8.tar.gz 解压复制3份到每一个节点下get

step3:同步

修改配置文件 /zk0/conf/zoo.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=d:/tmp/cluster0
dataLogDir=d:/tmp/cluster0/logs
clientPort=4180
server.0=127.0.0.1:8880:7770    
server.1=127.0.0.1:8881:7771    
server.2=127.0.0.1:8882:7772 it

dataLogDir能够不配置,默认放在dataDir下。io

clientPort 故名思义客端链接的端口,因为物理PC,每一个节点配置一个,不然会出现端口已占用异常。test

其它2个节点的配置 省略

step4: 

在step3配置 的${dataDir} 目录下为每一个节点建myid文件,内容为对应server的编号,zk0节点下的为0.

step5:

启动zk,

命令行模式进入zk0/bin/ ,输入:

这时有warn并抛出异常,内容是链接另2个节点链接不上,能够忽略,把另2个节点依照此法逐个启动。

zk0再也不报异常。

step6:

测试集群

>zkCli -server 127.0.0.1:4182

链接第3个节点

 

链接zk1.

zk0:

同步成功。

 

备注:经常使用命令

启动ZK

zkServer

链接client

zkCli -server 127.0.0.1:4182

client 命令:

create /test "test"

get /test

set /test "test"

delete /test

后记:

1.不管哪一个节点作事务操做,各个节点都会更新。

2.

 昨天才弄的zookeeper,不知道怎么查看哪一个是Leader,哪位同窗知道能够回复,多谢.

但应该是样:

  启动顺序zk0,zk1,zk2. Leader 是zk1.

  启动顺序是zk1,zk2,zk0,Leader是zk2.

  启动顺序是zk2,zk1,zk0,Leader是zk2.

为何呢? ZK的election是有规则的:(1) TXid 最大 (2) 节点ID最大。 

相关文章
相关标签/搜索