零、介绍
zookeeper(保持分布式系统的数据一致性)口诀:一致,有头,数据树
一致:所有的节点上的内容都一致
有头:总有一个leader
数据树:树状结构、并且树的每个节点都会绑定一份数据
一、下载、解压、拷贝到3(奇数)台虚拟机上
二、配置:
1、进入zookeeper的路径下:
cd conf
cp zoo-sample.cfg zoo.cfg
vi zoo.cfg
# 在最后追加,指定zookeeper集群,一起对外提供服务
# 第一个通讯端口,第二个选举端口
server.1=192.168.37.128:2888:3888
server.2=192.168.37.129:2888:3888
server.3=192.168.37.130:2888:3888
2、建立zookeeper的存储目录/tmp/zookeeper(默认路径,可修改,在zoo.cfg配置)
mkdir /tmp/zookeeper
3、/tmp/zookeeper路径下 新建myid(文件内容3台虚拟机对应coo.cfg中配置的server.1=>1)
vi myid
1
三、启动(默认读取zoo.cfg配置文件):
进入安装目录 路径下:
/bin/zkServer.sh start
关闭:/bin/zkServer.sh stop
状态:/bin/zkServer.sh status
四、检验
jps
# 出现QuorumPeerMain说明启动成功
QuorumPeerMain
Jps
五、Leader&Follower(领导者&跟随者)
zookeeper集群建议搭奇数台虚拟机,有利于选举
其中某一台机器是Leader,其他都是Follower,如果Leader宕机,则从其他的Follower重新选举一个Leader
六、错误信息
查看日志:zookeeper.out
七、客户端连接
/bin/zkCli.sh -server 192.168.37.128:2181
八、客户端命令
# 帮助
help
# 看目录(有默认的节点zookeeper,不能动)
ls /
# 新建节点 数据
create /myapp appinfo
# myapp下还可以创建子节点
create /myapp/conf appconfinfo
# 获取该节点绑定的数据
get /myapp
# 修改该节点绑定的数据
set /myapp appinfo_again
# 删除单个节点
delete /myapp/conf
# 删除郑哥目录
rmr /myapp