1. 单机与集群
a. 安装
cd /home/gilbert/app/rar tar zxvf zookeeper-3.4.11.tar.gz mv zookeeper-3.4.11 /home/gilbert/app/
b. zoo_sample.cfg 复制一份,命名为 zoo.cfg,此即为Zookeeper的配置文件
cd zookeeper-3.4.11/conf cp zoo_sample.cfg zoo.cfg
c. 修改配置文件,修改内容如下
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/home/gilbert/app/zookeeper-3.4.11/data #数据存储目录 dataLogDir=/home/gilbert/app/zookeeper-3.4.11/log #日志目录# # the port at which the clients will connect clientPort=2181 #zookeeper的服务端口 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 #集群配置server.0、server.1、server.2 为 zk 集群中三个 node 的信息,定义格式为 #hostname:port1:port2,其中 port1 是 node 间通信使用的端口,port2 是node 选举使用的端口,需 #确保三台主机的这两个端口都是互通的 server.0=192.168.1.128:2888:3888 server.1=192.168.1.129:2888:3888 server.2=192.168.1.130:2888:3888
d. 创建myid文件,在dataDir目录下创建,并且写入内容1加以区分(另外两台服务器内容为2,3)
cd /home/gilbert/app/zookeeper-3.4.11/data touch myid echo "1" > myid more myid #查看内容
e. 启动
cd /home/gilbert/app/zookeeper-3.4.11/bin ./zkServer.sh start
f. 查看集群
3台服务器都启动zk后
#192.168.1.128服务器 服务启动 [root zookeeper-3.4.11]# ./bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Starting zookeeper ... STARTED #状态查看 [root zookeeper-3.4.11]# ./bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Mode: follower #192.168.1.129服务器 服务启动 [root zookeeper-3.4.11]# ./bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Starting zookeeper ... STARTED #状态查看 [root zookeeper-3.4.11]# ./bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Mode: leader #192.168.1.130服务器 服务启动 [root zookeeper-3.4.11]# ./bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Starting zookeeper ... STARTED #状态查看 [root zookeeper-3.4.11]# ./bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Mode: follower
测试zookeeper高可用性,停掉leader,再次查看其它服务器zk状态,此时130服务器的zk为leader
#192.168.1.129 停掉zk为leader服务器 [root zookeeper-3.4.11]# ./bin/zkServer.sh stop ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED #192.168.1.128 状态查看 [root zookeeper-3.4.11]# ./bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Mode: follower #192.168.1.130 状态查看 [root zookeeper-3.4.11]# ./bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Mode: leader
再次启动129上的zk,zk为follower了
#192.168.1.129 服务启动 [root zookeeper-3.4.11]# ./bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Starting zookeeper ... STARTED #状态查看 [root zookeeper-3.4.11]# ./bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/gilbert/app/zookeeper-3.4.11/bin/../conf/zoo.cfg Mode: follower