zookeeper学习day01

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(均可修改,建议使用)

  

原文地址:https://www.cnblogs.com/sxpy-lj/p/7476049.html