大数据04

zookeeper

 数据存储形式

zookeeper中对用户的数据采用kv形式存储,只是zk有点特别:

key:是以路径的形式表示的,那就以为着,各key之间有父子关系,比如

/ 是顶层key

用户建的key只能在/ 下作为子节点,比如建一个key: /aa  这个key可以带value数据

 也可以建一个key:   /bb

也可以建key: /aa/xx

zookeeper中,对每一个数据key,称作一个znode

znode类型

zookeeper中的znode有多种类型:

1、PERSISTENT  持久的:创建者就算跟集群断开联系,该类节点也会持久存在与zk集群中

2、EPHEMERAL  短暂的:创建者一旦跟集群断开联系,zk就会将这个节点删除

3、SEQUENTIAL  带序号的:这类节点,zk会自动拼接上一个序号,而且序号是递增的

组合类型:

PERSISTENT  :持久不带序号

EPHEMERAL  :短暂不带序号 

PERSISTENT  且 SEQUENTIAL   :持久且带序号

EPHEMERAL  且 SEQUENTIAL  :短暂且带序号

zookeeper的集群部署

1、上传安装包到集群服务器

2、解压

3、修改配置文件

进入zookeeper的安装目录的conf目录

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

# The number of milliseconds of each tick

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/root/zkdata

clientPort=2181

#autopurge.purgeInterval=1

server.1=hdp20-01:2888:3888

server.2=hdp20-02:2888:3888

server.3=hdp20-03:2888:3888

对3台节点,都创建目录 mkdir /root/zkdata

对3台节点,在工作目录中生成myid文件,但内容要分别为各自的id: 1,2,3

hdp20-01上:  echo 1 > /root/zkdata/myid

hdp20-02上:  echo 2 > /root/zkdata/myid

hdp20-03上:  echo 3 > /root/zkdata/myid

4、从hdp20-01上scp安装目录到其他两个节点

scp -r zookeeper-3.4.6/ hdp20-02$PWD

scp -r zookeeper-3.4.6/ hdp20-03:$PWD

5、启动zookeeper集群

zookeeper没有提供自动批量启动脚本,需要手动一台一台地起zookeeper进程

在每一台节点上,运行命令:

bin/zkServer.sh start

启动后,用jps应该能看到一个进程:QuorumPeerMain

但是,光有进程不代表zk已经正常服务,需要用命令检查状态:

bin/zkServer.sh status

能看到角色模式:为leader或follower,即正常了。

 zookeeper的命令行客户端操作

zookeeper的数据存储形式:

1、zookeeper中存储数据的基本形式为: key , value

2、zookeeper中的key是用路径表示的:

/aa : 88888    

/aa/bb : "xxoo"  

/aa/cc : "edu360"

/tt: 9898

每一个key-value称为一个znode(zookeeper数据节点)

3、zookeeper中的数据节点有4种类型:

1、持久节点:客户端一旦建立,zk会持久保存,除非有客户端手动删除

2、短暂节点:创建这个节点的客户端一旦断开与zookeeper集群的联系,zookeeper集群就会自动将该节点删除

3、带序号的节点:在同一个父节点下,建带序号的子节点,zk会自动给客户端指定的子节点名后拼接一个自增的序号

4、不带序号的节点:

上述4中类型,可以有以下组合类型:

持久-带序号

持久-不带序号

短暂-带序号

短暂-不带序号

数据管理功能:

创建节点: create /aaa 'ppppp'

查看节点下的子节点:   ls /aaa

获取节点的value: get /aaa

修改节点的value: set /aaa 'mmmmm'

删除节点:rmr /aaa

数据监听功能:

ls /aaa watch  

## 查看/aaa的子节点的同时,注册了一个监听“节点的子节点变化事件”的监听器

get /aaa watch

## 获取/aaa的value的同时,注册了一个监听“节点value变化事件”的监听器

注意:注册的监听器在正常收到一次所监听的事件后,就失效

zookeeper图形化客户端插件

在Eclipse环境下安装ZooKeeper状态查看相关的插件步骤如下:

Step 1. 在 Eclipse 菜单打开Help -> Install New Software…
Step 2. 添加 url   http://www.massedynamic.org/eclipse/updates/
Step 3. 选择插件并安装运行
Step 4. 在 Eclipse 菜单打开Window->Show View->Other…->ZooKeeper 3.2.2。
Step 5. 连接ZK 输入正在运行的ZK server 地址和端口

zookeeper应用案例--分布式系统服务器上下线感知

猜你喜欢

转载自blog.csdn.net/weixin_42581821/article/details/88284579