zoukankan      html  css  js  c++  java
  • zookeeper节点类型、命令详解、配置文件说明

    绝对重要!

           zkServer.sh stat

           zkServer.sh status

    zkCli.sh -server ip:port

    create path data

    rmr path

    ls

    get

    数据结构

    节点类型

    n  持久非顺序节点

    create /node/subnode data

     

    n  持久顺序节点

    create -s /node/sencodnode data

     

    自动生成主键使用

    n  临时顺序节点

    create  -e -s /tempnode2 data

     

    n  临时非顺序节点

    create  -e /tempnode data

    临时节点:创建节点的连接关闭后,节点自动被删除 就是临时节点。

     

     

    持久  / 临时

    顺序 / 非顺序

     

    顺序节点:节点序号自增,可以创建子节点

    临时节点:随着创建节点的事务关闭而自动删除。 不能创建子节点。

     

     

    节点信息

      C:ceate

    查看一个文件的状态信息

    [zk: localhost:2181(CONNECTED) 1] stat /a
    cZxid = 0x200000009
    ctime = Thu Mar 22 13:07:19 CST 2018
    mZxid = 0x200000009
    mtime = Thu Mar 22 13:07:19 CST 2018
    pZxid = 0x200000009
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 1
    numChildren = 0

    信息说明

    状态属性

    说明

    cZxid

    数据节点创建时的事务ID

    ctime

    数据节点创建时的时间

    mZxid

    数据节点最后一次更新时的事务ID

    mtime

    数据节点最后一次更新时的时间

    pZxid

    数据节点的子节点列表最后一次被修改

    (是子节点列表变更,而不是子节点内容变更)时的事务ID

    cversion

    子节点的版本号,当添加/删除子节点的时候发生改变

    dataVersion

    数据节点的版本号 仅仅当data属性发生改变的时候而改变

    aclVersion

    数据节点的ACL版本号

    ephemeralOwner

    如果节点是临时节点,则表示创建该节点的会话的

    SessionID;

    如果节点是持久节点,则该属性值为0

    dataLength

    数据内容的长度

    numChildren

    数据节点当前的子节点个数

    重要命令详解

    管理命令

    n zkServer.cmd

    n zkServer.sh

    n  参数

    n  start

    n  start-foreground

    n  stop

    n  restart

    n  status

    n  upgrade

    n  print-cmd

    n zkCli.sh

     

    n zkCli.cmd

    客户端命令

    •  
    • help
    • 节点管理
      •  
      • rmr path
    • get path [watch] 

    监视某一个节点,通常情况 监视被删除或者修改。

    • stat path [watch]

    stat 和 get 区别  前者不显示数据 后者显示数据

    • create [-s] [-e] path data acl
    • set path data [version]

    修改某个path 下的对应的版本号的数据。Path+版本号做唯一约束进行修改

    • delete path [version]

    常常用于处理分布式乐观锁

    • ls path [watch]
    • ls2 path [watch]    

    这个命令 等于  ls + stat

    • 配额管理  
      • setquota -n|-b val path
      • delquota [-n|-b] path
      • listquota path

    超出配额的时候仅仅给出警告,但是并不抛出异常或者是导致操作失败.

    • 命令管理
      • history  

    列出历史执行命令

    • redo cmdno

    重复执行历史命令

    redo  10

    • printwatches on|off
    • sync path

    以下几个是权限管理

    • setAcl path acl
    • addauth scheme auth
    • getAcl path

    获取权限.

    • 连接管理
      • quit

    如果有连接 则关闭连接;退出终端。

    • close

    关闭当前连接 但是不退出客户端

    • connect host:port

    连接某一个zk 的服务器

    配置文件说明

    1、tickTime=2000

       以毫秒为单位的心跳。是zk维持分布式服务的一个基本的时间单位。

    # The number of milliseconds of each tick

        

    2、initLimit=10

       时间表示的是 tickTime*10 ,得到时间是20秒。

       新加进来的服务初始化的时候能够容忍的时间。

        

     

    3、syncLimit=5

       同步的时候 经过5个时间单位 同步认为失败。

       

        

    4、clientPort  表示对外服务提供的端口。 默认数值2181.

        当前的zkServer 绑定哪个端口.

       

    5、dataDir   存储的数据  节点的数据、日志

       节点数据存放的位置.进程id 当前的服务节点编号.

       

    6、

    只有配置集群的时候这个才有意义.

    server.X=A:B:C

       只有在集群的情况下才使用。

        X 表示的服务的编号

        A 表示某个服务器的地址

        B 服务之间需要交互数据,在数据进行交互的时候所使用的端口

           默认数值:2888

        C: 选举leader 使用的端口 默认使用3888

     

     

     

    Leader 产生:才有投票的算法,帕克西算法.

    通常情况下,zk的集群个数是奇数个. 集群新增节点的时候,不影响leader角色.

    如果leader退出集群,则集群会自动选举新的leader

    应用场景

    分布式框架结构下使用.

    应用场景

    提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

    统一命名服务

     

     比如项目中经常用到域名,但是ip地址可能会发生改变.使用这个方式避免了因为IP地址发生改变而去重新修改项目的问题.

    统一配置管理

     

    统一集群管理

     

    服务器动态上下线

     

    负载均衡

     

        Zookeeper 当中的节点充当每个服务器访问次数的计数器,当有新的请求发送过来的时候,将新的请求派发给服务次数最少的那个上边.

  • 相关阅读:
    hadoop的namenode故障处理方法
    hadoop的checkpoint检查时间参数设置
    hadoop配置历史服务器&&配置日志聚集
    hadoop_批量命令脚本&同步文件脚本
    查看centos操作系统、java_jdk、hadoop位数
    hadoop的namenode启动失败
    shell_语法
    Mycat入门配置_读写分离配置
    VM虚拟机克隆_修改网络
    ssh免密登陆及时间设置
  • 原文地址:https://www.cnblogs.com/liujinqq7/p/12819480.html
Copyright © 2011-2022 走看看