1.上传zk安装包
2.解压
3.配置(先在一台节点上配置)
3.1添加一个zoo.cfg配置文件
$ZOOKEEPER/conf
mv zoo_sample.cfg zoo.cfg
3.2修改配置文件(zoo.cfg)
dataDir=/itcast/zookeeper-3.4.5/data
server.5=itcast05:2888:3888
server.6=itcast06:2888:3888
server.7=itcast07:2888:3888
3.3指定当前主机的server编号
在(dataDir=/itcast/zookeeper-3.4.5/data)创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2)
echo "5" > myid
3.4将配置好的zk拷贝到其他节点
scp -r /itcast/zookeeper-3.4.5/ itcast06:/itcast/
scp -r /itcast/zookeeper-3.4.5/ itcast07:/itcast/
3.5注意:在其他节点上一定要修改myid的内容
在itcast06应该将myid的内容改为5 (echo "5" > myid)
在itcast07应该将myid的内容改为6 (echo "6" > myid)
4.启动集群
分别启动zk
./zkServer.sh start
5.验证集群的同步功能
启动itcast04、itcast05、itcast06上的zookeeper服务
使用 zkServer.sh status 查看三台zookeeper节点中的各自角色,发现其中一台为leader, 另外两台为follower
5.1 文件同步功能验证:
使用zkCli.sh 在任意节点上启动zookeeper客户端,使用create /file1 filecontent (例如create
/hadoop123 123)在zookeeper的根目录下创建一个新的文件。在其他2个zookeeper节点上使用zkCli.sh
启动zookeeper客户端,同样查看根目录下文件,神奇的事情发生了,文件已经被同步到了这2个节点。验证完毕!
5.2 角色切换功能验证
3台zookeeper节点,一台是leader,另外两台是follower
用jps查看当前活动进程 ; 使用 kill -9 进程编号, 杀死leader(QuorumPeerMain这个进程 )
再查看当前活跃zookeeper的角色 ,发现其中一个已经切换成了leader
再次启动被杀死的zookeeper leader时,发现其角色成了follower。
验证完毕!