IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 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字节数组,如果存储对象,需要自己转换对象生成字节数组

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:40:57  更:2022-03-22 20:42:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:06:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码