1.概述
操作系统为3台ubuntu虚拟机,其ip地址分别为
ubuntu1 192.168.1.109
ubuntu2 192.168.1.108
ubuntu3 192.168.1.110
jdk版本为jdk7
2.下载解压(三台机器都执行一遍)
2.1将zookeeper解压到/usr/local/zookeeper-3.4.5目录下
2.2以下命令都是在/usr/local/zookeeper-3.4.5目录下执行的
#从zookeeper的sample中复制一个zk的配置文件
root@ubuntu-2:/usr/local/zookeeper-3.4.5# cp conf/zoo_sample.cfg conf/zoo.cfg
#修改一下这个配置文件,让他支持集群
root@ubuntu-2:/usr/local/zookeeper-3.4.5# vi conf/zoo.cfg
#修改一下存储数据的目录,给出的模板里放在/tmp/zookeeper(如果/var/lib/zookeeper目录不存在则需要自行创建)
dataDir=/var/lib/zookeeper/
#在这个文件的末尾添加如下配置(遵循server.id=host:port:port的格式):
server.1=192.168.1.109:2888:3888
server.2=192.168.1.108:2888:3888
server.3=192.168.1.110:2888:3888
保存配置退出vi编辑器
2.3切换到/var/lib/zookeeper目录下(这个目录即上面的zoo.cfg中配置的dataDir目录)新建一个myid的文本文件,编辑其内容如下
在server.1=192.168.1.109这台机器上设置1
在server.2=192.168.1.108这台机器上设置2
在server.3=192.168.1.110这台机器上设置3
设置的规则就是在zoo.conf文件指定的server.id,zookeeper用这个数字来标识集群中的哪一个节点
3.启动
切换到zookeeper安装目录的bin下
root@ubuntu-3:/usr/local/zookeeper-3.4.5/bin# sh ./zkServer.sh start
4.集群验证
在三台机器上分别使用zkServer.sh status命令查看当前服务状态
server3输出:
root@ubuntu-3:/usr/local/zookeeper-3.4.5/bin# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: leader
root@ubuntu-3:/usr/local/zookeeper-3.4.5/bin#
server2输出:
root@ubuntu-2:/usr/local/zookeeper-3.4.5/bin# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower
root@ubuntu-2:/usr/local/zookeeper-3.4.5/bin#
server1输出:
注意:实际的输出结果leader和follower可能会分步的节点不同,但是只会有一个leader,另外两个节点是folowerroot@ubuntu-1:/usr/local/zookeeper-3.4.5/bin# sh ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower
root@ubuntu-1:/usr/local/zookeeper-3.4.5/bin#