博主用的是Cenos7虚拟机,jdk虚拟机里有自带,有需要可以百度教程,自行更换
下载zookeeper,用ftp或者直接拖到虚拟机的
/usr/local/src
的文件夹下,
创建zk目录,(创不创建自行决定)
安装zookeeper
tar -xvf zookeeper-3.4.10.tar.gz
安装后的,进入zoopeeper-3.4.10目录
目录结构是这样,其他目录暂时不要管,进入conf目录,进入后cp一份配置文件
cp zoo_sample.cfg zoo.cfg
进入编辑模式
vim zoo.cfg
进去后是这个样子 ,按i进入编辑模式,esc是退出编辑模式, :wq是保存并退出
我们只需把dataDir的路径改一下,改到你认为合适的路径就好,记好路径
按Esc再按 :wq 退出,到现在单机版的zookeeper安装完成
进入bin目录下启动
#进入bin目录
cd ../bin
#启动命令
./zkServer.sh start
#查看启动状态命令
./zkServer.sh status
#停止命令
./zkServer.sh stop
-----------------------------------------------------------------------------------------------------------------------------------------
集群搭建,因为楼主用的是虚拟机,所有直接把第一台安装好的克隆三台
克隆完成后,还是进入conf目录,vim zoo.cfg目录,其他都不变,添加
也就是你其他三台的server.id=ip:port:port
其中2999是集群通信的端口,3999是选举端口,:observer主机只负责通信,不负责其他,详细了解,自行百度
其他3台同样配置,最后进入你配置的dataDir目录下,创建文件
touch myid
vim myid编辑,里面填写本机对应的server.id的id就行,:wq报错并退出
到现在集群搭建成功,启动集群
进入bin目录
cd ../bin
依次启动服务器
./zkServer.sh
最后查看集群状态
./zkServer.sh status
follower节点
leader节点
follower节点
最后毫无悬念就是observer节点
完成.
进入客户端命令
./zkCli.sh -server leader节点的ip
这里用的是另一种进入客户端的命令,效果一样
里面有对节点增删改查的方法
cversion = 0 子节点的版本号
aclVersion = 0 acl的版本号,修改节点权限
dataVersion = 1 当前节点数据的版本号
czxid 节点被创建时的事务ID
mzxid 节点最后一次被更新的事务ID
pzxid 当前节点下的子节点最后一次被修改时的事务ID
dataLength = 3 数据值长度
numChildren = 0 子节点数
create [-s] [-e] path data acl
-s 表示节点是否有序
-e 表示是否为临时节点
默认是持久化节点
get path [watch]
获得指定 path的信息
set path data [version]
修改节点 path对应的data
version 版本号 乐观锁的概念 数据库里面有一个 version 字段去控制数据行的版本号
delete path [version]
删除节点
quit退出客户端