Zookeeper学习视频心得(一)zookeeper特点、数据结构、本地安装、基操

1、Zookeeper特点

Zookeeper学习视频心得(一)zookeeper特点、数据结构、本地安装、基操

1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。

2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。

3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。

4)更新请求顺序进行,来自同一个Client的更新请求按其发送顺序依次执行。

5)数据更新原子性,一次数据更新要么成功,要么失败。

6)实时性,在一定时间范围内,Client能读到最新的数据。

★补充:zookeeper是个集群;第二特点说明一般来说zookeeper搭建都是奇数的(4台和5台容错一样那肯定搭5台)

2、zookeeper的数据结构

Zookeeper学习视频心得(一)zookeeper特点、数据结构、本地安装、基操

​ ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做个ZNode。**每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。**每个ZNode的名字不一样(标识性)。

3、客户端命令行操作

命令基本语法 功能描述
help 显示所有操作命令
ls path [watch] 使用 ls 命令来查看当前znode中所包含的内容
ls2 path [watch] 查看当前节点数据并能看到更新次数等数据
create 普通创建-s 含有序列-e 临时(重启或者超时消失)
get path [watch] 获得节点的值
set 设置节点的具体值
stat 查看节点状态
delete 删除节点
rmr 递归删除节点

​ 因此节点的数据的类型有四种:1、普通(啥都没) 2、含序列 3、临时 4、含序列+临时

4、本地模式安装部署(zookeeper3.4.6)

1)、上传安装包到master并解压

tar -xvf zookeeper-3.4.6.tar.gz

2)、配置环境变量

ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile

3)、修改配置文件

将/usr/local/soft/zookeeper-3.5.7/conf这个路径下的zoo_sample.cfg修改为zoo.cfg

cp  zoo_sample.cfg zoo.cfg
dataDir=/usr/local/soft/zookeeper-3.4.6/data
server.0=master:2888:3888
server.1=node1:2888:3888
server.2=node2:2888:3888

4)、同步到其它节点

​ scp -r /usr/local/soft/zookeeper-3.4.6 node1: /usr/local/soft
​ scp -r /usr/local/soft/zookeeper-3.4.6 node2:/usr/local/soft

5)、创建data目录

​ 在/usr/local/soft/zookeeper-3.4.6/data目录下创建myid文件

vim myid

​ 三台每台按照上面的配置文件顺序myid文件内加0、1、2

6)、启动zk

​ 三台都需要执行

zkServer.sh start

​ 查看状态

zkServer.sh status 

当有一个leader的时候启动成功

7)、连接zk

zkCli.sh

5、Stat结构体

1)czxid-创建节点的事务zxid

每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID。

事务ID是ZooKeeper中所有修改总的次序。每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生。

2)ctime - znode被创建的毫秒数(从1970年开始)

3)mzxid - znode最后更新的事务zxid

4)mtime - znode最后修改的毫秒数(从1970年开始)

5)pZxid-znode最后更新的子节点zxid

6)cversion - znode子节点变化号,znode子节点修改次数

7)dataversion - znode数据变化号

8)aclVersion - znode访问控制列表的变化号

9)ephemeralOwner- 如果是临时节点,这个是znode拥有者的session id。如果不是临时节点则是0。

10)dataLength- znode的数据长度

11)numChildren - znode子节点数量

上一篇:WLAN-3数据转发方式


下一篇:zookeeper设置开机启动项