下载zookeeper-3.4.9.tar.gz
集群环境说明,有3台机器,ip分别如下:
192.168.23.112(简称112),192.168.23.113(简称113),192.168.23.73(简称73)
首先在112上安装zk:
一、解压zookeeper-3.4.6.tar.gz:
[root@node112 ~]#mkdir -p /usr/local/zookeeper&&tar -zxf zookeeper-3.4.9.tar.gz -C /usr/local/zookeeper
二、切换到zk解压目录:
[root@node112 ~]#cd /usr/local/zookeeper/zookeeper-3.4.9/
三、拷贝配置文件:
[root@node112 /usr/local/zookeeper/zookeeper-3.4.9]#cp conf/zoo_sample.cfg conf/zoo.cfg
四、编辑配置文件vi conf/zoo.cfg的以下配置:
#zk落地内存数据的目录 dataDir=/usr/local/zookeeper/data #指定了需要保留的zk日志文件的数目 autopurge.snapRetainCount=3 #指定清理频率,单位:小时 autopurge.purgeInterval=1 server.1=192.168.23.112:2888:3888 server.2=192.168.23.113:2888:3888 server.3=192.168.23.73:2888:3888
说明:server.x=zk集群节点的ip:follower和leader同步的端口,如2888:重新选举leader的时候使用的端口号,如3888[:observer],x需要与dataDir下的文件myid的内容保持一致。
五、创建上边第四步指定的数据保存目录
[root@node112 /usr/local/zookeeper/zookeeper-3.4.9]#mkdir -p /usr/local/zookeeper/data
六、创建名称为myid的文件,并写入“1”,保存退出:
[root@node112 /usr/local/zookeeper/zookeeper-3.4.9]#vi /usr/local/zookeeper/data/myid
说明:为什么要写入“1”(不带双引号),因为从配置文件zoo.cfg中得知,当前112配置的是server.1,写入myid的内容要和server.1里面的1对应,当然等下113的时候写入的就是2,73的时候写入的就是3了。
七、启动:
[root@node112 /usr/local/zookeeper/zookeeper-3.4.9]#bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
八、查看zk是否启动成功,有QuorumPeerMain说明启动成功:
[root@node112 /usr/local/zookeeper/zookeeper-3.4.9]#jps 12473 Jps 12381 QuorumPeerMain
九、在113和73上分别执行上边的七步,操作完全一样,只有第六步写入的myid文件的内容为配置文件里机器ip对应的server.x里面的x,即113上的内容是2,73是3。
十、分别在3台节点上查看zk状态。
112:
[root@node112 /usr/local/zookeeper/zookeeper-3.4.9]#bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: leader
113:
[root@node113 /usr/local/zookeeper/zookeeper-3.4.9]#bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: follower
73:
[root@node73 /usr/local/zookeeper/zookeeper-3.4.9]#bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: follower
好了,配置成功完成。
另外,如何停止一个zk呢,可以使用命令“./bin/zkServer.sh stop”,如下:
[root@node113 /usr/local/zookeeper/zookeeper-3.4.9]#./bin/zkServer.sh stop ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED