zookeeper集群操作【这里只说明简单的操作步骤,zk的相关参数、说明请参考官方文档】

 

  本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

       【这里是在一台机器上搭建的 zk伪集群】

  1.从官网下载下载zk http://apache.fayea.com/zookeeper/

    解压 并复制三套zk,这里我使用三台zk实例(server,演示使用3.4.7版本)

    为什么使用三台zk?

      在zookeeper的选举过程中,为了保证选举过程最后能选出leader,就一定不能出现两台机器得票相同的僵局,所以一般的,要求zk集群的server数量一定要是奇数,也就是2n+1 台,并且,如果集群出现问题,其中存活的机器必须大于n+1台,否则leader无法获得多数server的支持,系统就自动挂掉。所以一般是3个或者3个以上节点。

    

 

  2.配置zk配置文件 conf/zoo.cfg(若没有请自建)

  zk1-3.4.7

clientPort = 2181
dataDir=/tmp/zookeeper/1
syncLimit=5
tickTime=2000
initLimit=10
dataLogDir=/tmp/zookeeper/1
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

 

  zk2-3.4.7

clientPort = 2182
dataDir=/tmp/zookeeper/2
syncLimit=5
tickTime=2000
initLimit=10
dataLogDir=/tmp/zookeeper/2
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

  zk3-3.4.7

clientPort = 2183
dataDir=/tmp/zookeeper/3
syncLimit=5
tickTime=2000
initLimit=10
dataLogDir=/tmp/zookeeper/3
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

 

  *说明:红色部分路径, 要自行创建相关目录

 

 

  3.创建myid

   终端执行指令

echo "1" > /tmp/zookeeper/myid/1
echo "2" > /tmp/zookeeper/myid/2
echo "3" > /tmp/zookeeper/myid/3

  这里的myid文件中的值对应 zoo.cfg 中 server.x,分别代表1、2、3号server的id

 

 

  4. 每一个server(这里是三台)执行以下命令 bin目录下

./zkServer.sh start

 

5.验证 集群是否搭建成功  bin目录下

./zkServer.sh status

  如下如图则表示成功

 


 

  附 :若在验证阶段执行./zkServer.sh start出现以下情况:

    JMX enabled by default
    Using config: /zk1-3.4.7/bin/../conf/zoo.cfg
    Error contacting service. It is probably not running.

     先执行停止相应的zk  停止指令为  zkServer.sh  stop

     再执行./zkServer.sh start-foreground  可以看到报错  根据报错进行修改

     

posted @ 2017-03-16 18:35  远方的风lyh  阅读(1833)  评论(0编辑  收藏  举报