上一篇介绍了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. 1.node 在node中 进行包与包之间函数的调用 module.exports

    本文参考学习了廖雪峰的大作 模块 但是廖的文章只模块只有一个函数,在此演示一个模块中有两个函数,在另外一个函数中是如何去调用的 //hello.js包中的内容'use strict'; var s=' ...

  2. C++继承经典样例

    c++继承经典样例 #include <iostream.h> class Base { private:         int b_number; public:         Ba ...

  3. 深入理解最强桌面地图控件GMAP.NET --- 街景地图(StreetView)

    原文:深入理解最强桌面地图控件GMAP.NET --- 街景地图(StreetView) 很久没有更新博客了,今天无事把GMAP.NET的代码又重新翻了翻,看到了街景地图的例子. 街景地图是谷歌最早提 ...

  4. 怎样正确的理解和解决 ORA-01843:not a valid month

    今天码代码的时候遇到了这个问题,由于oracle用的比較少,所在查询了一下. 顿时傻眼,有非常多的贴子说是由于nls_date_language的问题,还要改会话级的NLS_DATE_LANGUAGE ...

  5. WPF 走马灯 文字滚动 自定义控件

    原文:WPF 走马灯 文字滚动 自定义控件 /// <summary> /// Label走马灯自定义控件 /// </summary> [ToolboxBitmap(type ...

  6. MySQL更改表的存储引擎

    MySQL它提供了多种数据库存储引擎,存储引擎负责MySQL存储和检索数据的数据库.不同的存储引擎具有不同的特性,能须要将一个已经存在的表的存储引擎转换成另外的一个存储引擎.有非常多方法能够完毕这样的 ...

  7. 给CentOS 6安装Tomcat 7,从一开始

    由于给企业培训以及前面几年使用PHP太多了,这次server逐步转为使用JavaEE来搭建. 下载的JDK 7.8已经出来了,可是不太熟悉,所以还是下载7版本号.这里怎样安装JDK7不讲了. 当前最新 ...

  8. abp项目 从sql server迁移至mysql

    官方资料:https://aspnetboilerplate.com/Pages/Documents/EF-MySql-Integration 实验发现,还差了两步 整理一下,步骤如下: 1.引用My ...

  9. 优雅实现INotifyPropertyChanged接口——利用Lambda表达式

    原文:优雅实现INotifyPropertyChanged接口--利用Lambda表达式 参考文章 在14年的时候,曾经读过上面的参考文章,不过当时并没有怎么理解,慢慢地也就将这篇文章忘诸脑后了. 直 ...

  10. 【msdn wpf forum翻译】TextBox中文本 中对齐 的方法

    原文:[msdn wpf forum翻译]TextBox中文本 中对齐 的方法 原文链接:http://social.msdn.microsoft.com/Forums/en-US/wpf/threa ...