下载及安装
进入ZooKeeper官网:https://zookeeper.apache.org/
这两个都可以:
将下载好的包上传至Linux:
解压:
最后将zookeeper放到/usr/local/zookeeper下:
配置环境变量:
别忘记 source /etc/profile。
配置zoo.cfg
关于zoo.cfg可参看:https://blog.csdn.net/Dongguabai/article/details/82901686
创建相应文件夹:
启动Zookeeper
可以看到出来了帮助提示,这里启动ZK,后面加上start(也可以使用命令./zkServer.sh start-foreground,使用这个命令启动zookeeper可以查看错误信息):
还可以查看状态:
由于是单机,这里模式是standalone。
也可以重启restart(如果当前没有启动则会启动,如果启动了,则会先stop在start):
连接ZK服务:
zkCli.sh -timeout 0 -r -server ip:port
集群环境安装
在ZK集群中,各个节点总共有三种角色,分别是:leader,follower,observer。集群模式我们采用模拟 3 台机器来搭建 zookeeper 集群。先按照上面的步骤重复在三台虚拟机上安装好ZK。配置集群还需要在zoo.cfg文件中加上相关配置(关于zoo.cfg文件可参看:https://blog.csdn.net/Dongguabai/article/details/82901686)。
在三台虚拟机的zoo.cfg文件中均加上:
也就是说我这里是135配置的id为1,136的id为2,137的id为3。之前在zoo.cfg文件中dataDir配置的文件路径均为:
在这个文件路径下新建myid文件,并且编辑内容为当前机器对应的id:
启动集群中的135机器:
这时候查看日志会报错:
这个异常不用理会(具体可参看:https://blog.csdn.net/Dongguabai/article/details/82941437),再启动136机器(先不启动137机器),在136中的ZK启动完成后会发现135中ZK日志不报异常了:
这里虽然只启动了两台机器,但是两台机器也是能够实现选举的,这里再开启137:
再分别查看135、136、137中ZK的状态:
其实不用查看状态大致都可以猜出137肯定是follower,因为之前123、136已经提前启动,它们两个之间肯定有一个leader,因为必须要有leader才能正常运行嘛。
在135中新建一个节点;
分别在136、137中查看:
均能看到刚刚新建的test节点。说明节点数据得到了同步。