zookeeper入门(一)

zookeeper的基本功能和应用场景

zookeeper可以提供基础服务:

1、替用户管理少量数据

2、替用户监听指定数据(当数据发生变化,用户会得到通知)

zookeeper的整体运行机制

zookeeper具有高可用,高可靠

zookeeper推荐安装在奇数台服务器(3、5…)

zookeeper在安装的时候不区分主从角色

zookeeper在运行的时候会选举出一个节点作为主节点

选举流程:

1、第一台启动的zk进程,会向局域网进行组播投票,投自己

2、第二台启动的zk进程,会向局域网进行组播投票,投自己(因为自己的id大)

3、1和2两个zk进程都会收到第二轮投票,自己各得一票,那就继续投票

4、1会子啊这一轮投票将自己的票给2,2也会投2,投票结果2有两票,此时,2得多数票,当选为leader,1自动切换为follower

5、第三台启动的zk进程,上线就能发现已经有leader,自动变成follower

zookeeper数据存储机制

zookeeper中对用户的数据采用kv形式存储

只是zk有点特别:

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

/ 是顶层key

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

也可以建一个key: /bb

也可以建key: /aa/xx

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

综上所述,zk中的数据存储形式如下:
在这里插入图片描述

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=hdp-01:2888:3888
server.2=hdp-02:2888:3888
server.3=hdp-03:2888:3888

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

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

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

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

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

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

scp -r zookeeper/ hdp-02$PWD

scp -r zookeeper/ hdp-03:$PWD

1、启动zookeeper集群

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

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

bin/zkServer.sh start

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

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

bin/zkServer.sh status

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

#创建节点:
create /aaa 'ppppp'
#查看节点下的子节点:
ls /aaa
#获取节点的value:
get /aaa
#修改节点的value:
set /aaa 'mmmmm'
#删除节点:
rmr /aaa

数据监听功能

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值