栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

初识zookeeper

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初识zookeeper

目录

介绍

安装与配置

客户端

java操作ZK

应用


介绍

就是一个协调组件,保证数据的一致性;(动态的进行更新,就是出错后可以进行及时的容错处理),

主要是由若干个进程以及简单的数据存储组成(每个节点中只能存储1M左右)

 Chubby是谷歌闭源的,是用的paxos算法;

 总结:

        1、协调一致的操作当中,所以后数据的同步处理都有leader处理,leader不是固定的,是有选举产生的,如果leader挂了,会选举新的leader;

安装与配置

1、集群问题

zookeeper的使用一定不是一台机器,而是服务集群,同时zookeeper依赖于JDK环境,

2、配置ZK集群主机(多台主机)

2.1、准备机器

2.2、安装jdk、上传zk安装包、解压、配置环境变量、创建工作目录、

        复制一个zoo_sample.cfg  名称为zoo.cfg

2.3、zoo.cfg配置文件

        tickTime:心跳时间间隔;

        dataDir:工作目录,如果自己创建了目录记得修改;    

        clientPort:客户端链接端口;默认2181(如果java程序要链接ZK要使用端口)

        添加配置:

                server.x=主机名称(所有存活的ZK主机列表)

 2.4、工作目录中创建主机编号

2.5、将本机配置好的工具包复制到(发送)其他主机上

        1>解压的文件

        2>环境变量并生效

        3>工作目录

        4>配置各自的主机编号

3、启动集群

3.1、 安装目录下bin/执行

3.2、查看服务状态:zkServer.sh status ,会返回两种结果一个是leader,一个是 follower

3.3、此时如果关闭leader服务(zkServer.sh stop),则会重新选举出一个leader;

3.4、jps查看进程是如果出现如下,则表示成功启动并可以提供服务

客户端

1、进入客户端后可以使用help命令查看所有支持的命令

2、ZK默认会有一个‘/’节点,不要删除,此节点由ZK维护;

3、创建节点并添加数据

4、取出几点数据

java:节点中真正保存的数据

czxid:节点最后发生一次修改的标志id

ctime:节点创建时间

mtime:节点最后一次修改时间

cversion:子节点的更新次数

dataVersion:子节点的数据更新次数

numchildren:子节点数量

5、更新值

6、 删除节点

7、监听控制,多台主机操作的时候使用,针对于数据的变化进行监听(只能监听一次变化)

         比如当A连接创建了一个节点并监听,B来修改这个节点数据,修改完之后A能看到修改的数据,但B再次修改则A不能再监听到数据变化;(ZK地资源消耗,不能长时间占用资源,可以使用循环监听)

java操作ZK

1、添加依赖(下载的ZK服务中也有依赖)

2、java类编写示例:获取链接对象

        需要将服务器集群列表全部配置上,这样其中一台服务不可用后不影响使用,会自动寻找可用的服务;

 2.2、通过链接对象获取ZK所有节点信息

 3、创建ZNode(节点)

                |- 用户定义名称-序列

永久节点:客户端链接或关闭后依赖保留节点信息;

临时节点:客户端连接时保留节点,客户端关闭时删除节点;

         代码示例

4、判断节点数据是否存在

        exists方法,返回的是Stat对象,如果有节点则不为空;

5、获取节点信息

状态返回 

 6、修改节点数据(此方法没有监听)

 7、删除节点(没有监听)

        版本使用-1表示不受版本控制;

8、数据监听(监听类型选择数据改变)--只能监听当前节点数据,没办法监听子节点

 9、子节点监听(需要监听节点-大部分都会对节点进行监听,不会对数据进行监听,所以监听节点的时候,如set方法是修改了节点数据,所以监听不到)

        很多方法都会被监听,如:

         代码示例:代码有点乱,待整理

应用

 zookeeper的应用_子书少卿的博客-CSDN博客

参考路径:https://download.csdn.net/learn/3868/67980?spm=1002.2001.3001.4143

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/846085.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号