Zookeeper简介
zookeeper分布式管理软件。常用它做注册中心(依赖zookeeper的发布/订阅功能)、配置文件中心、分布式锁配置、集群管理等。
zookeeper一共就有两个版本。主要使用的是java语言写的。
安装
网上下载zookeeper 安装包
打开虚拟机,
上传这个安装包
1 上传压缩文件
上传到 /usr/local/tmp中
2 解压
tar zxf apache-zookeeper-3.5.5-bin.tar.gz
cp -r apache-zookeeper-3.5.5-bin …/zookeeper
3 新建data目录
zookeeper 是一个软件,里面要存东西,所以我们要创建一个文件夹,里面就是存我们要保存的东西
进入到zookeeper中
cd /usr/local/zookeeper
mkdir data
4 修改配置文件
我们自己创建的data文件夹,zookeeper软件是咋知道的,所以需要配置,和maven仓库的配置一样
进入conf中
cd conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改dataDir为data文件夹路径
5 启动zookeeper
进入bin文件夹
cd /usr/local/zookeeper/bin
./zkServer.sh start
通过status查看启动状态。稍微有个等待时间
./zkServer.sh status
使用
我们可以把zookeeper当做MySQL,我们的MySQL也有cmd里面可以操作,有一个命令的客户端,所以zookeeper也有的
Zookeeper客户端常用命令
进入到./zkCli.sh命令行工具后,可以使用下面常用命令
注意:
MySql数据存储数据是按照二维表的结构存储的,我们查找数据也是按照二维表的方式去查找。但是Zookeeper的底层使用的节点的方式,树结构。比如,一个苹果树,上面結满了苹果,每个苹果都有自己的绝对路径,从苹果树的根开始查找。也就说
我们在Zookeeper中存储的数据需要提供数据存储的绝对路径,查询数据时也需要提供数据的绝对路径。
以下就是zookeeper的客户端
ls
ls [-s] [-R] /path
-s 详细信息,替代老版的ls2
-R 当前目录和子目录中内容都罗列出来
例如:ls -R / 显示根目录下所有内容
以上是刚安装zookeeper软件,里面自带的目录
自带一个zookeeper的目录
create
create /path [data]
[data] 包含内容
创建指定路径信息
例如:create /demo 创建/demo (在根路径下创建一个demo的文件夹)
也就是用以上的命令,创建了一个目录
create /node 第一次创建可以,第二次创建同一个名字的时候,就会说已经有这个节点,不让创建
create -s /node 第一次创建的时候,会自动给你一个编号,再创建同名字的,会创建,但是每一个编号不一样
记住:
一个节点里面只能创建一个URL地址
get
get [-s] /path
[-s] 详细信息
查看指定路径下内容。
例如: get -s /demo
null:存放的数据
cZxid:创建时zxid(znode每次改变时递增的事务id)
ctime:创建时间戳
mZxid:最近一次更近的zxid
mtime:最近一次更新的时间戳
pZxid:子节点的zxid
cversion:子节点更新次数
dataversion:节点数据更新次数
aclVersion:节点ACL(授权信息)的更新次数
ephemeralOwner:如果该节点为ephemeral节点(临时,生命周期与session一样), ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是ephemeral节点, ephemeralOwner值为0.
dataLength:节点数据字节数
numChildren:子节点数量
set
set /path data
设置节点内容
也就是利用这个命令,往目录里面保存数据
delete
delete /path
删除节点