书接上回 大数据学习(四)之使用场景.安装以及基本使用

Zookeeper的认识以及节点详情
ZooKeeper完结篇(API操作,shell命令,ZooKeeper ACL 以及分布式应用 )

三、ZooKeeper使用场景

3.1 配置中心(数据发布与订阅)

在分布式应用中为了实现对分布式节点的统一配置,通常将服务中的配置文件集中存储在一个配置服务中,例如 SpringCloud将配置信息存储在Git/SVN中,Solr Cloud 则将配置数据集中存储在Zookeeper中。这典型利用了Zookeeper节点的发布订阅特性。

3.2 命名服务/服务分组(Naming Service)

命名服务也是分布式系统中比较常见的一类场景。在分布式系统 中通过使用命名服务,客户端应用能够根据指定名字来获取资源或者服务的地址,提供者等信息。被命名的实体可以是集群中的机器,提供的服务地址,远程对象等等——这些我们都可以统称他们为名字(Name)。其中较为常见的就是一些分布式服务框架中的服务地址列表。通过调用ZK提供的创建节点的API,能够很容易常见一个全局唯一的path,这个path就就可以作为一个名称。继而实现服务弹性部署。

3.3 分布式锁(场景)

Redis分布式锁 VS Zookeeper设计分布式锁的优势

  • ZK有Watcher机制,实现简单,客户端无需重复读取数据

  • Redis锁不稳定,客户端bug或者超时会导致锁失效,zk客户端挂掉znode直接销毁(临时节点)

  • zk相对公平,顺序节点

四、ZooKeeper安装

ZooKeeper的安装模式分为三种,分别为:单机模式(stand-alone)、集群模式和集群伪分布模式。ZooKeeper单机模式的安装相对比较简单,如果第一次接触ZooKeeper建议安装ZooKeeper单机模式或者伪集群模式。

下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

4.1 单机模式

zoo.cfg (存在于ZK安装目录下的conf目录下)

tickTime=2000              //session 过期时间为两倍的 tickTime
dataDir=/var/zookeeper 		//zk数据文件
clientPort=2181             //外部服务端口

4.2 启动

[root@GuoJiafeng01 zookeeper-3.4.6]# ./bin/zkServer.sh  start ./conf/zk.conf
JMX enabled by default
Using config: ./conf/zk.conf
Starting zookeeper ... STARTED

进程名称:QuorumPeerMain

五、ZK基本使用

5.1 启动

Usage: zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

5.2 连接

./bin/zkCli.sh -server 192.168.15.130:2181

5.3 其他指令

connect host:port
get path [watch]
ls path [watch]
set path data [version]
rmr path
quit 
printwatches on|off
create [-s] [-e] path data acl  默认持久节点  -s 顺序节点 -e 临时节点
stat path [watch]
close 
ls2 path [watch]
history 
setAcl path acl
getAcl path
addauth scheme auth
delete path [version]

5.4 close(关闭Session)

关闭当前连接 ,在命令行头部会显示CLOSED

5.6 connect (链接ZooKeeper)

connect localhost:2181

5.7 ls / ls2 (查看子节点)

[zk: localhost:2181(CONNECTED) 19] ls /
[dubbo, hadoop-ha, zookeeper, baizhi]
--------------------------------------
[zk: localhost:2181(CONNECTED) 20] ls2 /
[dubbo, hadoop-ha, zookeeper, baizhi]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x1001
cversion = 4
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 4

5.8 create(创建节点)

[zk: localhost:2181(CONNECTED) 15] create /baizhi '1'
Created /baizhi

5.9 delete(删除节点)

[zk: localhost:2181(CONNECTED) 21] delete /baizhi
[zk: localhost:2181(CONNECTED) 22] ls /
[dubbo, hadoop-ha, zookeeper]

5.10 rmr (递归删除节点)

[zk: localhost:2181(CONNECTED) 28] ls /baizhi
[gjf]
---------------------------------
[zk: localhost:2181(CONNECTED) 44] rmr /baizhi/gjf
[zk: localhost:2181(CONNECTED) 46]  ls /baizhi
[]

5.11 quit(退出ZookeeperSHell客户端)

quit

5.12 stat(查看节点状态)

[zk: localhost:2181(CONNECTED) 51] stat /baizhi
cZxid = 0x1004
ctime = Tue Mar 12 15:28:00 CST 2019
mZxid = 0x1004
mtime = Tue Mar 12 15:28:00 CST 2019
pZxid = 0x100f
cversion = 10
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 0

持续更新中。。。。。。。。
创作不易,给个三连吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值