Zookeeper使用

Zookeeper
官网:http://zookeeper.apache.org/
介绍:Apache ZooKeeper致力于开发和维护开源服务器,实现高度可靠的分布式协
调。
动物管理员
ZooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服
务。所有这些类型的服务都以分布式应用程序的某种形式使用。每次实施它们都需要做
很多工作来修复不可避免的错误和竞争条件。由于难以实现这些类型的服务,应用程序
最初通常会吝啬它们,这使得它们在变化的情况下变得脆弱并且难以管理。即使正确完
成,这些服务的不同实现也会在部署应用程序时导致管理复杂性。
Zookeeper工作原理
zookeeper功能:存储+监听
Zookeeper角色
主从结构
1)Leader领导者-》主
2)Follower追随者-》从
3)zookeeper由一个领导者多个追随者组成
zk集群中只要有半数以上的节点存活,zk集群就能正常工作。所以搭建zk集群最好搭建
奇数台(3,5,11)
zookeeper功能
大数据中使用zookeeper业务:
1)做统一的配置管理
2)做统一的命名服务
3)做统一的集群管理
4)做服务器的动态上下线感知(代码)
单节点安装部署
1)下载安装包
2)上传安装到linux
alt+p
3)解压
$ tar -zxvf zookeeper-3.4.10.tar.gz -C hd/
4)修改配置文件
重命名:mv zoo_sample.cfg zoo.cfg
5)创建文件夹zkData
添加到配置文件:zoo.cfg
dataDir=/root/hd/zookeeper-3.4.10/zkData
6)启动zookeeper
bin/zkServer.sh start
7)启动zookeeper客户端
bin/zkCli.sh
zookeeper集群安装部署
1)下载安装包
2)上传安装到linux
alt+p
3)解压
$ tar -zxvf zookeeper-3.4.10.tar.gz -C hd/
4)修改配置文件名
重命名:mv zoo_sample.cfg zoo.cfg
5)修改配置
dataDir=/root/hd/zookeeper-3.4.10/zkData
##############zkconfig##############
server.1=hd-01:2888:3888
server.2=hd-02:2888:3888
server.3=hd-03:2888:3888
server.4=hd-04:2888:3888
创建文件myid
添加服务器编号:1
6)拷贝zookeeper到其它机器
$ scp -r zookeeper-3.4.10/ hd-03:$PWD
7)注意需要修改每台机器的myid文件 设置为当前的机器编号即可
8)启动zookeeper集群
$ bin/zkServer.sh start
9)查看zookeeper状态
$ bin/zkServer.sh status
命令行操作
配置环境变量:vi /etc/profile
export ZOOKEEPER_HOME=/root/hd/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
声明环境变量:source /etc/profile
1)启动客户端
$ bin/zkCli.sh
2)连接其它机器客户端操作
$ connect hd-02:2181
3)查看历史操作记录
$ history
4)查看当前节点的内容
$ ls /
5)存储:创建节点
$ create /itstar 10
6)查看节点的值
$ get /itstar
7)创建节点的可选项
create [-s] [-e] path data acl
[-e] 短暂节点
[-s] 带序号
create -e /reba henmei
注意:此时-e创建的是临时的短暂节点,退出客户端后消失。退出客户端:quit
create -s /reba henmei
注意:此时-s创建是带序号的节点,可以创建节点名相同的,序号依次累加。
创建短暂带序号节点
create -e -s /tangtang beatiful
8)修改节点值
set path data [version]
[version] 版本
注意:设置版本号 必须从0开始
9)删除节点
delete path
10)创建子节点
create /reba/paonan paoqilai
11)递归删除
rmr /reba
12)监听
获得监听:get path watch
获得当前节点下增减变化:ls path watch
13)查看当前节点状态
stat /itstar
节点状态信息
czxid:zookeeper事务id
ctime:节点创建时间
mZxid:最后更新的czxid
mtime:最后修改的时间
pZxid:最后更新子节点的czxid
cversion:子节点的变化号、子节点修改次数
dataVersion:数据变化号
aclVersion:访问控制列表的变化号
ephemeralOwner:临时节点判断
dataLength:节点数据长度
numChildren:子节点个数
JAVA­API实操

posted @ 2019-05-01 13:33  jareny  阅读(446)  评论(0编辑  收藏  举报