zoukankan      html  css  js  c++  java
  • 三、zookeeper安装

    一、简介

    二、下载解压:

    #wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
    #tar -zxvf zookeeper-3.4.12.tar.gz
    

      

    三、切换到 zookeeper-3.4.3/bin目录下

    1、conf目录下提供了配置的样例zoo_sample.cfg,要将zk运行起来,需要将其名称修改为zoo.cfg。 

    启动  ./zkServer.sh start 
    

     

    2、进入bin目录,启动zookeeper:sh  zkServer.sh  start   

          验证是否启动:jps命令查看活动的java进程

     

    查看状态:sh  zkServer.sh  status
    

    停止服务:sh zkServer.sh stop
    

      

    3、连接-直接执行zkCli.cmd或者zkCli.sh命令默认以主机号 127.0.0.1,端口号 2181 来连接zk,如果要连接不同机器上的zk,可以使用 -server 参数,例如:

    ./zkCli.sh -server127.0.0.1:2181
    

      

      

     四、Zookeeper客户端启动及操作

    Zookeeper存储数据的结构是一棵树,Zookeeper数据结构的特征:

    1、有一个根节点 /,对于Zookeeper的操作都要基于根节点
    2、每个节点都叫做Znode节点,都可以创建自己的子节点,都可以存储数据
    3、整个Znode树会存储在内存中,提高查询速度。为了防止数据丢失,同时也会把Znode树落到磁盘上,磁盘路径即配置文件zoo.cfg里dataDir指定的目录
    4、Znode的路径是全局唯一的
    5、创建节点时,需指定初始化数据,否则创建报错
    6、Zookeeper是事务的概念,针对每个事务(创建,更新或删除节点等),Zookeeper都会分配一个递增的Zxid(事务id)。其中有cZxid(创建节点的事务id),mZxid(修改节点的事务id)
    

      

    1、节点操作

    查询节点 ls /     ls /zookeeper
    

    创建节点:create /node01 hello
    

    创建了节点 node01,并初始化数据为 “hello” 

    查看节点:get /node01
    

    可以看出,当执行命令  create /node01 hello时,这就是一个写的事务,会分配一个事务id,事务id是一个自增的id。

    修改节点数据:set /node01 hellodfr
    
    删除节点:delete /node01 单个删除,存在子节点则删除失败    rmr /node01 递归删除
    

    2、节点类型

    create /park01 "dateStr" 普通持久节点
    create -e /park01 "dateStr" 普通临时节点
    create -s /park01 "dateStr" 顺序持久节点 
    create -e -s /park01 "dateStr" 临时顺序节点 
    

     

    临时节点	
    客户端连接zookeeper服务并创建临时节点后,若客户端掉线,则临时节点会消失。
    该特性可以用来检测集群中,有哪些机器挂掉
    
    顺序节点	
    创建顺序节点后,会在节点名称后带上一个自增的顺序id
    如创建节点 create -s /park01 ddff,真正创建的节点名称为 park010000000009
    

      

    五、通过代码操作zookeeper

      

    参考 :https://blog.csdn.net/qinshi965273101/article/details/82937890

  • 相关阅读:
    Rust语言环境配置;Rust版本1.45.2学习
    《代码英雄》系列整理
    Pingcap High Performance TiDB 课程学习记录@yaowenxu
    11. C语言百钱买百鸡问题(详解版)
    10. C语言输出菱形(详解版)
    9. C语言判断素数(求素数)(两种方法)
    8. C语言求圆周率π(三种方法)
    7. C语言杨辉三角(两种方法)
    6. C语言九九乘法表(五种输出形式)
    5. C语言希尔排序算法
  • 原文地址:https://www.cnblogs.com/fger/p/10392104.html
Copyright © 2011-2022 走看看