1、zkAPI:(借助闭锁来实现)
    1)创建闭锁对象  2)创建zk对象  3)连接zk客户端(连接成功执行countDown方法)  4)执行await方法(保证链接成功) 5)zk对象调用对应的方法

2、集群的搭建:
    在一台服务器上安装好zk(解压压缩包“tar -xvf xxx”,复制conf文件夹下的zoo_sample.cfg为zoo.cfg,并编辑修改dataDir和增加集群服务器配置,在dataDir指定目录下新建并编辑myid文件,输入对应的服务器号,并退出)
    将配置好的zk打包(tar -zcvf xxx),并发送到指定的服务器 scp -r xxx <username>@<server>:目标位置
    修改myid和配置文件中的数字相匹配
    挨个启动zk服务,查看进程是否启动(jps),查看集群是否启动成功(./zkServer.sh status)

经验:

zookeeper的前期学习以节点为主,包括客户端对节点的操作,和借助api对节点的操作。相关的操作按照增删改查进行复习:

  创建节点:create [-e]  [-s] 节点路径  节点内容  -s:代表顺序创建  -e:代表临时创建,与客户端断开连接后自动删除

  删除节点:delete 节点路径名  一般不做删除操作,有实效的节点一般都设置成临时节点

  更改节点: set 节点路径  节点内容:更改某个节点的内容

  查询节点: ls 节点路径:查看子节点  get 节点路径  查看节点的具体信息

至于api的学习:

  ZooKeeper zk = new ZooKeeper("ip地址:端口号",临时节点失效时间,监控器); //创建好zk对象之后:

  创建节点:public String create(final String path, byte data[], List<ACL> acl,CreateMode createMode)

  删除节点:public void delete(final String path, int version)

  更改节点: public Stat setData(final String path, byte data[], int version)

  查询节点:  public byte[] getData(final String path, Watcher watcher, Stat stat)

ps:path:创建节点全路径

  data:节点数据内容,类型是byte[]

  acl : 代表的是权限,OPEN_ACL_UNSAFE表示的是所有人对该节点做CRUD

  createMode: persistent:普通持久节点
              ephemeral:普通临时节点

         persistent_sequential:顺序持久节点
              ephemeral_sequential:顺序临时节点

  version:节点的版本号,既可以和当前节点版本号相同,也可以指定成-1(均可修改,建议使用)

  

zookeeper学习day01的更多相关文章

  1. zookeeper学习(上)

    zookeeper学习(上) 在前面的文章里我多次提到zookeeper对于分布式系统开发的重要性,因此对zookeeper的学习是非常必要的.本篇博文主要是讲解zookeeper的安装和zookee ...

  2. ZooKeeper 学习笔记

    ZooKeeper学习笔记 1.   zookeeper基本概念 zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和Habase的重要组件,是为分布式应用提供一致性服 ...

  3. 【分布式】ZooKeeper学习之一:安装及命令行使用

    ZooKeeper学习之一:安装及命令行使用 一直都想着好好学一学分布式系统,但是这拖延症晚期也是没得治了,所以干脆强迫自己来写一个系列博客,从zk的安装使用.客户端调用.涉及到的分布式原理.选举过程 ...

  4. [转]ZooKeeper学习第一期---Zookeeper简单介绍

    ZooKeeper学习第一期---Zookeeper简单介绍 http://www.cnblogs.com/sunddenly/p/4033574.html 一.分布式协调技术 在给大家介绍ZooKe ...

  5. zookeeper 学习资料

    zookeeper 学习资料 学习资料 网址 Zookeeper 教程(菜鸟教程) https://www.w3cschool.cn/zookeeper/

  6. Zookeeper学习文章目录1

    目录:参考文章如下 1.ZooKeeper学习第一期---Zookeeper简单介绍 2. ZooKeeper学习第二期--ZooKeeper安装配置 3. ZooKeeper学习第三期---Zook ...

  7. zookeeper学习(零)_安装与启动

    zookeeper学习(零)_安装与启动 最近换了新的电脑,终于买了梦寐以求的macbook.最近也换了新的公司,公司技术栈用到了zookeeper.当然自己也要安装学习下.省的渣渣的我,被鄙视就麻烦 ...

  8. ZooKeeper学习笔记(二)——内部原理

    zookeeper学习笔记(二)--内部原理 1. zookeeper的节点的类型 总的来说可以分为持久型和短暂型,主要区别如下: 持久:客户端与服务器端断开连接的以后,创建的节点不会被删除: 持久化 ...

  9. ZooKeeper学习笔记(一)——概述

    zookeeper学习笔记(一)--概述 1. 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目.zookeeper从设计模式的角度来理解:是一个基于观察者设计 ...

随机推荐

  1. js类的继承,es5和es6的方法

    存在的差异:1. 私有数据继承差异 es5:执行父级构造函数并且将this指向子级 es6:在构造函数内部执行super方法,系统会自动执行父级,并将this指向子级2. 共有数据(原型链方法)继承的 ...

  2. 《算法导论》——计数排序Counting Sort

    今天贴出的算法是计数排序Counting Sort.在经过一番挣扎之前,我很纠结,今天这个算法在一些scenarios,并不是最优的算法.最坏情况和最好情况下,时间复杂度差距很大. 代码Countin ...

  3. leetcode17

    回溯法,深度优先遍历(DFS) public class Solution { int[] x; int N; string DIGITS; Dictionary<char, List<s ...

  4. shell脚本运行java程序jar

    在UBuntu上部署项目的时候,我们往往通过一段shell来启动程序,甚至是通过crontab定时任务来定时的调用java程序,但是很奇怪的一个问题就是,比如我写了一个如下的shell脚本: #!/b ...

  5. phpstorm 不能自动打开上次的历史文件

    问题产生的原因:可能是电脑非正常关机,导致phpstrom 无法正常关闭. 一开始我以为是配置上那里出现了问题,所以直接就把配置删除了,然后生成了默认配置.发现还是无法解决问题.然后一个个配置查阅过去 ...

  6. DML DDL DCL

    转自:https://blog.csdn.net/level_level/article/details/4248685

  7. MySQL误删数据

    首先看下mysql误删数据排名最前的几种是: 1.误删文件 2.误删库.表 3.错误全表删除 / 更新 4.升级操作失误 都来看看你命中过几个,hoho. 简单说下我亲手造的一个大事故吧. 那大概是一 ...

  8. POJ-3268.SilverCowParty.(最短路 + 图的转置)

    本题思路:对原图和原图的逆图分别用一次最短路,找出最大值即可. 一开始是我是对每个顶点spfa搜了一波,结果判题时间巨长,还好这个题的数据量不是很大,所以就用了另一种思路. 参考代码:spfa单结点爆 ...

  9. oracle 查询索引和主键

    ORACLE: 1.查主键名称: select * from user_constraints where table_name = 'AAA' and constraint_type ='P'; 查 ...

  10. 使用Pyquery+selenium抓取淘宝商品信息

    配置文件,配置好数据库名称,表名称,要搜索的产品类目,要爬取的页数 MONGO_URL = 'localhost' MONGO_DB = 'taobao' MONGO_TABLE = 'phone' ...