ZooKeeper集群搭建

说明:
我在自己电脑上开的3台Linux虚拟机,分别是:192.168.1.71、192.168.1.81、192.168.1.91;
各个虚拟机中提前装好jdk(我使用的jdk1.8.0_161)

1.下载zk最新稳定版本(我的是3.4.12)

2.上传到服务器(192.168.1.71),并解压:

 

3.cd到zk根目录,进入conf,创建zoo.cfg配置文件:


tickTime
:心跳时间,单位为ms;
dataDir:数据存放目录,存储内存数据库快照的位置,如果没有配置dataLogDir,也会存储数据库更新的事务日志,配置完后要创建对应目录
clientPort:端口号;
initLimit:当follower(从)最初与leader(主)建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。单位为tickTime,例如这里配置了5表示超时时间为5*2000 ms
syncLimit:follower和leader之间发送消息,请求和应答的最大时间长度,单位为tickTime,例如这里配置了2表示超时时间为2*2000 ms
server.71:表示集群中的71服务器,与dataDir中的myid文件内容一致,例如在这里myid文件中的内容为:71
192.168.1.71:2888:3888:前面为zk服务器的ip,第一个port端口号表示主从通讯使用的端口号,第二个port端口号表示选主时使用的端口号;

4.cd到dataDir目录,创建myid文件

文件内容只有一行,就是上面配置的server.71里面的71(81、91)
记得要与该服务器对应的配置项对应

5.类似的,配置好另外2台zk

记得关闭防火墙:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

6.启动zk

在bin目录下:./zkServer.sh start
或者使用./zkServer.sh start-foreground   可以查看在启动时看到日志(个人喜欢这个)
 
注意
1.启动的时候会报NoRouteToHost异常,这是因为集群其他机器还没有启动的缘故,挨着全部启动完毕,就没有此异常了。
2.不要用Ctrl+c切出控制台,否则会关闭zk(至少在我测试的环境中是这样)

7.查看zk状态

在bin目录下./zkServer.sh status
Mode:当前zk的角色(follower或leader)

8.链接客户端

在bin目录下./zkCli.sh -server 节点1ip:端口,节点2ip:端口,节点3ip:端口
回车后看到如下:
创建节点:create /testNode wjy
获取节点内容:get /testNode

9.关闭zk

在bin目录下./zkServer.sh stop
 
 
 
 
posted @ 2018-06-10 17:49  王吉雨  阅读(147)  评论(0)    收藏  举报