上一篇介绍了ZK的安装以及集群的搭建,这只能算是个软件安装过程,具体是做什么的、怎么用也没有做解释,这一篇中博主就自己的私人理解简单写一下:

1、是什么:

a、Zookeeper是一个分布式协调服务,是一个中间件。

b、能提供主从协调、服务器节点控制、统一配置管理、分布式共享锁、统一名称服务等功能,比较有名的是大数据以及dubbo中服务的注册以及发现。

c、本质上只是管理、读取用户提交的数据,并为数据提供监听服务。

2、应用场景:

大数据

服务注册与发现

等等

3、一些概念:

a、 ZK的角色:

1、leader(主节点) ,不是固定的,启动后根据选举算法选出

2、follower(从节点)

b、ZK数据结构

1、一颗与目录结构类似的树,根节点为"/",子节点为root下的 “/child1”、“/child2”等

2、树的每个节点为zNode,具有唯一的路径标识

3、每个zNode节点可以包含数据和子节点

4、通俗来说,key就是目录结构的写法,以此也可以表达父子关系

5、节点分为短暂节点(断开连接删除)与永久节点(断开连接不删除)

create -e /root

4、zkcli的简单使用

a、安装以及启动点击打开链接

      b、控制台客户端

打开客户端: root@ubuntu15:/usr/local/zookeeper-3.4.10/bin# ./zkCli.sh

查看命令:

[zk: localhost:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
stat path [watch]
set path data [version]
ls path [watch]
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version]
sync path
listquota path
rmr path
get path [watch]
create [-s] [-e] path data acl
addauth scheme auth
quit
getAcl path
close
connect host:port
[zk: localhost:2181(CONNECTED) 1]

切换节点:

[zk: localhost:2181(CONNECTED) 1] connect 192.168.0.16:2181

[zk: 192.168.0.16:2181(CONNECTED) 2] 

创建与读取数据:

[zk: 192.168.0.16:2181(CONNECTED) 2] ls
[zk: 192.168.0.16:2181(CONNECTED) 3] ls /
[zookeeper]
[zk: 192.168.0.16:2181(CONNECTED) 4] create /child1 thisischild
Created /child1
[zk: 192.168.0.16:2181(CONNECTED) 5] ls /
[zookeeper, child1]
[zk: 192.168.0.16:2181(CONNECTED) 6] create /child1/grandSon this is grandson
Created /child1/grandSon
[zk: 192.168.0.16:2181(CONNECTED) 7] ls child1
Command failed: java.lang.IllegalArgumentException: Path must start with / character
[zk: 192.168.0.16:2181(CONNECTED) 8] ls /child1
[grandSon]
[zk: 192.168.0.16:2181(CONNECTED) 9] get /child1
thisischild
cZxid = 0x100000006
ctime = Thu Jul 05 00:30:41 PDT 2018
mZxid = 0x100000006
mtime = Thu Jul 05 00:30:41 PDT 2018
pZxid = 0x100000007
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 1

5、java驱动提供的API

【Zookeeper02】ZK的作用以及使用的更多相关文章

  1. Zookeeper基本信息

    Zookeeper特点: 1.中间件,提供协调服务 2.作用于分布式系统,可以为大数据服务 3.支持java,提供java和c语言的客户端的api 分布式系统: 1.很多台计算机组成一个整体,一个整体 ...

  2. kafka相关资料

    先来说一下Kafka与RabbitMQ的对比: RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上. kafka是Linkedin于20 ...

  3. 关于.net服务启动注册到zookeeper,但是注册节点20分钟自动消失解决办法

        ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,作用简单描述就是相当于一个中介,服务提供者将服务注册到zk,服务调用者直接从zk获取,zk的作用就是协调     最近碰到公 ...

  4. [置顶] flume高并发优化——(15)中间件版本升级

    在系统平稳运行一年的基础上,为提供更好的服务,现针对java,kafka,flume,zk,统一进行版本升级,请各位小伙伴跟着走起来,不要掉队啊! 名称 老版本号 新版本号 jdk 1.7.0_25 ...

  5. ZooKeeper分布式

    1:zk的相关特性 1.一致性:数据一致性,数据按顺序分批入库. 2.原子性:事务要么都成功,要么都失败,不会局部化. 3.单一视图:客户端连接集群中的任一zk节点,数据都是一致的. 4.可靠性:每次 ...

  6. kafka内置的zookeeper

    kafka 很多说不需要安装zk的是因为他们都使用了kafka自带的zk 至于kafka为什么使用zk,你首先要知道zk的作用, 作为去中心化的集群模式. 需要要消费者知道现在那些生产者(对于消费者而 ...

  7. Kafka简明教程

    作者:柳树之 www.jianshu.com/p/7b77723d4f96 Kafka是啥?用Kafka官方的话来说就是: Kafka is used for building real-time d ...

  8. 分布式hadoop 架构图

    zk:zookeeper NN:namenode DN:datanode ZF Failover Controller:简称zkfc ,是zk的客户端,只运行在主备的namenode上,主要作用是判断 ...

  9. 横趟!面试中遇到的 ZooKeeper 问题

    本文作者:HelloGitHub-老荀 本文是 HelloZooKeeper 系列的最后一篇文章,接下来主要聊聊面试中如果被问到 ZooKeeper 的问题如何回答,也可以当作学完本系列的测试. 准备 ...

随机推荐

  1. 【转】java内部类的作用分析

    转自:http://blog.csdn.net/ilibaba/article/details/3866537 另收另外一篇有空的时候看:http://jinguo.iteye.com/blog/71 ...

  2. 使用devcpp在windowXP上qt4.4.3安装与使用入门

    1.安装前先安装devcpp,我下载的是devcpp-4.9.9.2_setup.exe2.安装qt4.4.3,下载的是qt-win-opensource-4.4.3-mingw.rar,解压后运行后 ...

  3. keras 的使用

    theano 以及 TensorFlow 是 keras 的 backend(后端支持),因此,keras 本质上是对 thenao 或者 TensorFlow 的进一步封装(wrapper). ke ...

  4. 【HLSL学习笔记】WPF Shader Effect Library算法解读之[BandedSwirl]

    原文:[HLSL学习笔记]WPF Shader Effect Library算法解读之[BandedSwirl] 因工作原因,需要在Silverlight中使用Pixel Shader技术,这对于我来 ...

  5. 静态库、动态库,dll文件、lib文件,隐式链接、显式链接浅见

    静态链接.动态链接 静态库和动态库分别应用在静态链接方式和动态链接方式中,所谓静态链接方式是指在程序执行之前完成所有的链接工作,把静态库一起打包合入,生成一个可执行的目标文件(EXE文件).所谓动态链 ...

  6. python 教程 第十六章、 正则表达式

    第十六章. 正则表达式 1)    匹配多个表达式 记号  re1|re2 说明  匹配正则表达式re1或re2 举例  foo|bar  匹配  foo, bar 记号  {N} 说明  匹配前面出 ...

  7. 微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传

    1.index.wxml <!--index.wxml--> <button style="margin:30rpx;" bindtap="choose ...

  8. Android学习路径(22)应用Fragment建立动态UI——构建一个灵活UI

    当你设计你的应用来支持多个屏幕尺寸.你能够基于可用的屏幕空间通过在不同的布局上重用fragment来优化用户体验. 比如,在一个手机上.使用单面板(一次仅仅显示一个fragment)的用户体验更加合适 ...

  9. cefsharp 与webbrowser简单对比概述

    原文:cefsharp 与webbrowser简单对比概述 有个项目需要做个简单浏览器,从网上了解到几个相关的组件有winform自带的IE内核的WebBrowser,有第三方组件谷歌内核的webki ...

  10. JSTL自定义标签 实现forEach循环支持集合.数组

    java代码实现 tld配置 JSP页面代码