栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ZooKeeper的简单使用

ZooKeeper的简单使用

1解压

tar -zxvf zookeeper-3.4.10.tar.gz

2 修改配置文件

进入解压后的目录中,进入conf目录,打开zoo_sample.cfg。需要修改的是里面的datadir,zk节点上的数据最终就是存到这个目录中的。我们可以自定义这个目录。
如:将其修改成:(在解压后的目录中新建一个data目录)
dataDir=/home/ubuntu/tool/zookeeper-3.4.10/data

3 zk也是cs模型

在zoo_sample.cfg中可以看到,他默认工作在2181端口。

4 使用

zk是免安装就能用的。
在bin目录下有 zkServer.sh和zkCli.sh两个脚本文件,执行就就分别启动了zk的服务端,和客户端。

服务端的简单使用:
zkServer.sh的执行需要带参数:

start参数是后台运行,start-foreground是前台运行。stop是停止。

client的简单使用:
客户端的常用命令有,get、ls、create、set、delete

1)启动客户端后,执行

ls /

就能看到zk的节点。zk可以看做是一个类似于linux的文件系统。
zk的目录组织如下:

3)执行get,可以查看某个节点的内容:

注意get得到的节点信息的几个字段:

第一行是,节点所含的数据numChildren字段,此节点的孩子节点个数。datalength字段,该节点的数据量ephemeralOwner字段,该节点是临时的还是永久的。0代表永久性的

4)create,是创建节点
下面的命令是在创建一个节点/sl,节点数据是20:

需要注意的是,创建一个节点,他的父节点必须存在(sl2不存在,所以创建失败):

5)set,修改节点的数据

6)delete,删除节点
当该节点有子节点的时候,不能删除。

5 zk的原生开发API(C/C++接口)

需要安装开发包。
进入上面解压目录src/c下面,zookeeper已经提供了原生的C/C++和Java API开发接口,需要通过源码
编译生成,过程如下:
~/package/zookeeper-3.4.10/src/c$ sudo ./configure
~/package/zookeeper-3.4.10/src/c$ sudo make
~/package/zookeeper-3.4.10/src/c$ sudo make install

(就安装在了usr/local/include和usr/local/lib中)
主要关注zookeeper怎么管理节点,zk-c API怎么创建节点,获取节点,删除节点以及watcher机制的API编程。

原生ZkClient API存在的问题:
Zookeeper原生提供了C和Java的客户端编程接口,但是使用起来相对复杂,几个弱点:
1.不会自动发送心跳消息 <==== 错误,源码上会在1/3的Timeout时间发送ping心跳消息
2.设置监听watcher只能是一次性的,每次触发后需要重复设置
3.znode节点只存储简单的byte字节数组,如果存储对象,需要自己转换对象生成字节数组

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

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

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