• zookeeper常用命令


    常用shell脚本操作命令

    shell脚本在zookeeper安装根目录的bin/路径下。

    • 启动zk : bin/zkServer.sh start
    • 查看ZK服务状态: bin/zkServer.sh status
    • 停止ZK服务: bin/zkServer.sh stop
    • 重启ZK服务: bin/zkServer.sh restart
    • 连接服务器 : bin/zkCli.sh -server 127.0.0.1:2181

    常用操作命令

    使用help查看常用命令
    在这里插入图片描述

    常用命令介绍

    ls /

    使用 ls 命令来查看某个目录包含的所有文件,例如:

    [zk: localhost:2181(CONNECTED) 1] ls /
    [zookeeper]
    ls2 /

    使用 ls2 命令来查看某个目录包含的所有文件,与ls不同的是它查看到其他一些信息,例如:

    [zk: localhost:2181(CONNECTED) 2] ls2 /
    [zookeeper]
    cZxid = 0x0     #节点创建的Zxid
    ctime = Thu Jan 01 08:00:00 CST 1970   #节点创建时间
    mZxid = 0x0     #节点最新一次更新时的Zxid
    mtime = Thu Jan 01 08:00:00 CST 1970    #节点最新一次更新发生时的时间
    pZxid = 0x0     #子节点最后一次被修改的zxid
    cversion = -1     #其子节点的更新次数
    dataVersion = 0     #节点数据的更新次数
    aclVersion = 0     #节点ACL授权的更新次数
    ephemeralOwner = 0x0 #如果该节点为ephemeral节点, ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是ephemeral节点, ephemeralOwner值为0. 至于什么是ephemeral节点, 请看后面的讲述.
    dataLength = 0     #节点数据的字节数
    numChildren = 1     #子节点的个数
     

    zxid:致使ZooKeeper节点状态改变的每一个操作都将使节点接收到一个递增的事务id号,并且这个时间戳全局有序。也就是说,也就是说,每个对节点的改变都将产生一个唯一的Zxid。如果Zxid1的值小于Zxid2的值,那么Zxid1所对应的事件发生在Zxid2所对应的事件之前。实际上,ZooKeeper的每个节点维护者三个Zxid值,为别为:cZxid、mZxid、pZxid。

    stat /

    查看节点状态属性,不包含节点数据信息,例如:

    [zk: localhost:2181(CONNECTED) 39] stat / 
    create

    创建znode,并设置初始内容, 默认内容也可以是空串,附加参数 :-s:顺序节点 ,-e:临时节点 例如:
    在这里插入图片描述

    get

    获取znode节点数据,例如:

    [zk: localhost:2181(CONNECTED) 17] get /test
    set

    修改znode节点内容,修改数据也可携带版本号,修改的时候要么不携带版本号,要么携带的版本号要跟dataVersion的版本号一致,否则就会报错,例如:
    在这里插入图片描述

    delete

    删除没有子节点的节点,如果有子节点将报Node not empty: /test 例如:

    [zk: localhost:2181(CONNECTED) 36] delete /test
    Node not empty: /test
    rmr

    已过时的方法,推荐使用deleteall
    删除节点,有子节点一并删除

    deleteall

    删除节点,有子节点一并删除

    setquota

    配额,给节点限制值,比如限制子节点个数、节点数据的长度
    -n:限制子节点个数
    -b:限制值的长度
    在这里插入图片描述
    当创建节点超出配额时,zookeeper不会抛出异常,会在bin/zookeeper.out记录警告信息。
    在这里插入图片描述

    listquota

    listquota,查看配额,以及节点的配额状态,例如:
    在这里插入图片描述

    delquota:删除配额
    close:关闭当前连接
    history:查看历史执行指令
    redo命令

    再次执行某命令。
    如redo 10
    其中10为命令ID,需与history配合使用。

    sync:

    由于请求在半数以上的zk server上生效就表示此请求生效,那么就会有一些zk server上的数据是旧的。sync命令就是强制同步所有的更新操作。

    printwatches

    在获取节点数据、子节点列表等操作时,都可以添加watch参数监听节点的变化,从而节点数据更改、子节点列表变更时收到通知,并输出到控制台。默认是打开,可以设置参数将其关闭。 例如:
    在这里插入图片描述

    常用ACL命令

    常用ACL命令参考下一篇博客:
    https://blog.csdn.net/qq_34021712/article/details/82871976

    运维四字命令

    zk可以通过它自身提供的简写命令来和服务器进行交互,需要使用到nc命令.

    安装命令:

    yum install nc

    使用echo conf |nc 127.0.0.1 2181 查看zookeeper配置信息,报如下异常:

    conf is not executed because it is not in the whitelist.

    解决办法,修改 conf/zoo.cfg 添加以下属性
    #开启四字命令
    4lw.commands.whitelist=*
     

    再执行上面的命令,出现如下信息:
    在这里插入图片描述
    上图中还有一种方式就是使用 telnet 127.0.0.1 2181 然后使用四字命令,下面列出四字命令信息:

    conf

    conf命令用于输出 ZooKeeper服务器运行时使用的基本配置信息,包括clientPort、dataDir和tickTime等,以便运维人员能快速查看 ZooKeeper当前运行时的一些参数,如上图所示。注意,conf命令输出的配置信息仅仅是输出一些最基本的配置参数。
    另外,conf命令会根据当前的运行模式来决定输出的信息。上图所示的输出信息是针对集群模式下的样例,如果是单机模式(standalone),就不会输出诸如initLimit、syncLimit、electionAlg和electionPort等集群相关的配置信息。

    cons

    cons命令用于输出当前这台服务器上所有客户端连接的详细信息,包括每个客户端的客户端IP、会话ID和最后一次与服务器交互的操作类型等。

    crst

    crst命令是一个功能性命令,用于重置所有的客户端连接统计消息

    dump

    dump命令用于输出当前集群的所有会话信息,包括这些会话的会话ID,以及每个会话创建的临时节点等信息。如果在Leader服务器上执行该命令的话,我们还能够看到每个会话的超时时间。

    envi

    envi命令用于输出 ZooKeeper所在服务器运行时的环境信息,包括os.version、java.version和user.home等。

    ruok

    ruok命令用于输出当前 ZooKeeper服务器是否正在运行。该命令的名字非常有趣,其协议正好是“Are you ok”。执行该命令后,如果当前 ZooKeeper服务器正在运行,那么返回“imok”,否则没有任何响应输出。
    请注意,ruok命令的输出仅仅只能表明当前服务器是否正在运行,准确的讲,只能说明2181端口打开着,同时四字命令执行流程正常,但是不能代表 ZooKeeper服务器是否运行正常。在很多时候,如果当前服务器无法正常处理客户端的读写请求,甚至已经无法和集群中的其他机器进行通信,ruok命令依然返回“imok”。因此,一般来说,该命令并不是一个特别有用的命令,他不能反映 ZooKeeper服务器的工作状态,想要更可靠的获取更多 ZooKeeper运行状态信息,可以使用下面马上要讲到的stat命令。

    stat

    stat命令用于获取 ZooKeeper服务器的运行时状态信息,包括基本的 ZooKeeper版本、打包信息、运行时角色、集群数据节点个数等消息,另外还会将当前服务器的客户端连接信息打印出来。
    除了一些基本的状态信息外,stat命令还会输出一些服务器的统计信息,包括延迟情况、收到请求数和返回的响应数等。注意,所有这些统计数据都可以通过srst命令进行重置。

    srvr

    srvr命令和stat命令的功能一致,唯一的区别是srvr不会将客户端的连接情况输出,仅仅输出服务器的自身信息

    srst

    stst命令是一个功能行命令,用于重置所有服务器的统计信息。

    wchs

    wchs命令用于输出当前服务器上管理的Watcher的概要信息。

    wchc

    wchc命令用于输出当前服务器上管理的Watcher的详细信息,以会话为单位进行归组,同时列出被该会话注册了Watcher的节点路径。

    wchp

    wchp命令和wchc命令非常类似,也是用于输出当前服务器上管理的Watcher的详细信息,不同点在于wchp命令的输出信息以节点路径为单位进行归组。

    mntr

    mntr命令用于输出比stat命令更为详尽的服务器统计信息,包括请求处理的延迟情况,服务器内存数据库大小和集群的数据同步情况。在输出结果中,每一行都是一个key-value的键值对,运维人员可以,根据这些输出信息进行 ZooKeeper的运行时状态监控。
    如果在Leader服务器上执行该命令的话,可以获取比Follower服务器更多的信息。

    转自:https://blog.csdn.net/qq_34021712/article/details/82871697

  • 相关阅读:
    【思维导图】渗透测试流程
    Imperva WAF使用笔记
    elk查询语法
    Linux入侵检测常用命令
    前端工作面试问题
    看看如何面试前端工程师:Github很重要
    编程面试的10大算法概念汇总
    菜鸟介绍达到什么样的标准才能是大公司要的前端
    开发资源总结 (持续整理中)
    超级全的前端学习资料
  • 原文地址:https://www.cnblogs.com/erlou96/p/13739502.html
Copyright © 2020-2023  润新知