【zookeeper学习记录】

	最近在了解分布式,发现zookeeper是必不可少的一个工具,记录一下对zookeeper的学习过程。

1、什么是zookeeper?

	zookeeper是一个分布式协调服务,从名字“动物管理员”可以看出,它实际上是分布式服务的
一个协调工具。多个服务耦合到一起去做一件事,出现问题是必不可少的,那么zookeeper就是为解
决这些非业务问题而生的,还是一个目的:让开发人员更专注业务的开发。

2、zookeeper有什么作用?

2.1 配置管理

	分布式的多个服务,有时间需要同时修改配置文件,此时zookeeper就可以做到。批量统一修改可以减少误差。

2.2 分布式锁

2.3 服务发现与注册

3、zookeeper的数据结构是什么?

	zookeeper的数据模型,与文件系统的目录很像,实际上文件系统的目录又类似于数据结构中的树。直观上如下图所示:

zookeeper数据结构

树是由节点组成的,zookeeper的数据一样存储在节点,名字是zNode。

3.1 zNode包含什么内容?

	1、data:此节点保存的数据。
	2、acl:权限,包含了可操作人及操作人对此节点拥有的权限,权限分为以下几种:
		c:create,创建权限,允许在该节点下面创建节点。
		w:write,修改权限,允许修改改节点的data数据。
		r:read,读取权限,允许读取改节点的data数据。
		d:delete,删除权限,允许删除此节点的子节点。
		a:admin,管理员权限,允许对改节点进行权限重新设置。
	3、stat:描述当前znode的元数据。元数据包含一下内容:
		1、cZxid:创建节点的事务id。
		2、mZxid:修改节点的事务id。
		3、pZxid:增加和删除子节点的事务id
		4、cTime:创建时间。
		5、dataVersion:节点内数据的版本,数据每更新一次,数据版本会+1。
		6、aclVersion:权限的版本。
		7、ephemeralOwner:如果当前节点是临时节点,值是当前节点所有者的sessionId,否则为0。
		8、dataLength:节点内数据的长度。
		9、numChildren:节点的子节点数量。
	4、child:当前节点的子节点信息。

3.2 zNode有哪几种?

	1、持久节点:看名字可以看出,创建的数据会持久化保存,在会话结束后依旧存在。
	2、持久序号节点:与持久节点不同的是创建时,会默认分配一个独一无二的序号(递增)。
	3、临时节点:创建的数据只保存至内存,会话结束之后就会消失。
	4、临时序号节点:与临时节点不同的是,创建时候,会默认分配给一个序号(递增)。
	5、容器节点(3.5.3版本新增):当容器中没有任何子节点,该容器节点会被定期删除。(60s一次。)
	6、TTL节点:可以指定节点的到期时间,到期后被删除,需要通过系统配置开启。(zookeeper.extendedTypesEnable)

4、zookeeper实战。

4.1 安装

	由于zookeeper是基于java的,因此安装之前需要在环境上安装好java的环境,并配置好环境变量。
下载链接:https://pan.baidu.com/s/1kDz2YCPSDD5Y7GhWnQL4kg 提取码:xuyd
	1、确保java环境安装好之后,下载解压文件如图:		

zookeeper目录
解压成功之后直接到bin目录执行一下命令:zkServer.cmd
在这里插入图片描述
此时很明显看出是缺少conf/zoo.cfg文件,打开查看直接修改zoo_sample.cfg修改为zoo.cfg。
配置文件字段说明:
修改之后再次执行命令即可启动服务器如下图:
在这里插入图片描述
此时新开命令窗口,执行一下命令:zkCli.cmd效果如下图:
在这里插入图片描述
此时说明安装启动成功。

4.2 常用命令

4.3 代码实现

4.3.1 zookeeper原生客户端

4.3.2 curator客户端

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值