• 九、zookeeper四字监控命令


      zooKeeper支持某些特定的四字命令与其的交互。它们大多是查询命令,用来获取 zooKeeper服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向zooKeeper提交相应的命令。 zooKeeper常用四字命令见下表 所示:

    命令描述
    conf 输出相关服务配置的详细信息。比如端口、zk数据及日志配置路径、最大连接数,session超时时间、serverId等
    cons 列出所有连接到这台服务器的客户端连接/会话的详细信息。包括“接受/发送”的包数量、session id 、操作延迟、最后的操作执行等信息
    crst 重置当前这台服务器所有连接/会话的统计信息
    dump 列出未经处理的会话和临时节点
    envi 输出关于服务器的环境详细信息
    ruok 测试服务是否处于正确运行状态。如果正常返回"imok",否则返回空
    stat 输出服务器的详细信息:接收/发送包数量、连接数、模式(leader/follower)、节点总数、延迟。 所有客户端的列表
    srst 重置server状态
    wchs 列出服务器watches的简洁信息:连接总数、watching节点总数和watches总数
    wchc 通过session分组,列出watch的所有节点,它的输出是一个与 watch 相关的会话的节点列表
    mntr 列出集群的健康状态。包括“接受/发送”的包数量、操作延迟、当前服务模式(leader/follower)、节点总数、watch总数、临时节点总数

      nc命令工具安装:

    #root用户安装
    #下载安装包
    wget http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm
    #rpm安装
    rpm -iUv nc-1.84-22.el6.x86_64.rpm

      使用方式,在shell终端输入:echo mntr | nc localhost 2181

    1、conf命令

      conf:输出相关服务配置的详细信息

      shell终端输入:echo conf| nc localhost 2181

    [root@zk01 ~]# echo conf| nc localhost 2181
    clientPort=2181
    dataDir=/opt/zookeeper/data/version-2
    dataLogDir=/opt/zookeeper/logs/version-2
    tickTime=2000
    maxClientCnxns=60
    minSessionTimeout=4000
    maxSessionTimeout=40000
    serverId=1
    initLimit=10
    syncLimit=5
    electionAlg=3
    electionPort=3888
    quorumPort=2888
    peerType=0
    属性含义
    clientPort 客户端端口号
    dataDir 数据快照文件目录 默认情况下100000次事务操作生成一次快照
    dataLogDir 事物日志文件目录,生产环境中放在独立的磁盘上
    tickTime 服务器之间或客户端与服务器之间维持心跳的时间间隔(以毫秒为单位)
    maxClientCnxns 最大连接数
    minSessionTimeout 最小session超时 minSessionTimeout=tickTime* 2
    maxSessionTimeout maxSessionTimeout 最大session超时 maxSessionTimeout=tickTime * 20
    serverId 服务器编号
    initLimit 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数
    syncLimit 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答之间能容忍的最多心跳数
    electionAlg 0:基于UDP的LeaderElection 1:基于UDP的 FastLeaderElection 2:基于UDP和认证的FastLeaderElection 3:基于TCP的FastLeaderElection 在3.4.10版本中,默认值为3另外三种算法已经被弃用,并且有计划在之后的版本中将它们彻底删除而不再支持
    electionPort 选举端口
    quorumPort 数据通信端口
    peerType 是否为观察者 1为观察者

    2、cons命令

      cons:列出所有连接到这台服务器的客户端连接/会话的详细信息

      shell终端输入:echo cons| nc localhost 2181

    [root@zk01 ~]# echo cons| nc localhost 2181
     /0:0:0:0:0:0:0:1:33648[0](queued=0,recved=1,sent=0)
     /0:0:0:0:0:0:0:1:33644[1](queued=0,recved=697,sent=697,sid=0x179c0b2dee2000c,lop=PING,est=1622455608147,to=30000,lcxid=0x2b,lzxid=0xffffffffffffffff,lresp=1622462271027,llat=1,minlat=0,avglat=0,maxlat=48)
    属性含义
    ip ip地址
    port 端口号
    queued 等待被处理的请求数,请求缓存在队列中
    received 收到的包数
    sent 发送的包数
    sid 会话id
    lop 最后的操作 GETD-读取数据 DELE-删除数据 CREA-创建数据
    est 连接时间戳
    to 超时时间
    lcxid 当前会话的操作id
    lzxid 最大事务id
    lresp 最后响应时间戳
    llat 最后/最新 延时
    minlat 最小延时
    maxlat 最大延时
    avglat 平均延时

    3、crst命令

      crst:重置当前这台服务器所有连接/会话的统计信息

      shell终端输入:echo crst| nc localhost 2181

    4、dump命令

      dump:列出未经处理的会话和临时节点

      shell终端输入:echo dump| nc localhost 2181

    属性含义
    session id znode path(1对多 , 处于队列中排队的session和临时节点)

    5、envi命令

      envi:输出关于服务器的环境配置信息

      shell终端输入:echo envi| nc localhost 2181

    [root@zk03 ~]# echo envi| nc localhost 2181
    Environment:
    zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
    host.name=zk03
    java.version=1.8.0_251
    java.vendor=Oracle Corporation
    java.home=/usr/local/jdk8/jre
    java.class.path=/usr/local/zookeeper/bin/../build/classes:/usr/local/zookeeper/bin/../build/lib/*.jar:/usr/local/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/local/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper/bin/../zookeeper-3.4.10.jar:/usr/local/zookeeper/bin/../src/java/lib/*.jar:/usr/local/zookeeper/bin/../conf:
    java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
    java.io.tmpdir=/tmp
    java.compiler=<NA>
    os.name=Linux
    os.arch=amd64
    os.version=3.10.0-1160.11.1.el7.x86_64
    user.name=root
    user.home=/root
    user.dir=/
    属性含义
    zookeeper.version 版本
    host.name host信息
    java.version java版本
    java.vendor 供应商
    java.home 运行环境所在目录
    java.class.path classpath
    java.library.path 第三方库指定非java类包的位置(如:dll,so)
    java.io.tmpdir 默认的临时文件路径
    java.compiler JIT 编译器的名称
    os.name Linux
    os.arch amd64
    os.version 3.10.0-514.el7.x86_64
    user.name zookeeper
    user.home /home/zookeeper
    user.dir /home/zookeeper/zookeeper2181/bin

    6、ruok命令

    • ruok:测试服务是否处于正确运行状态

    • shell终端输入:echo ruok| nc localhost 2181

    7、stat命令

      stat:输出服务器的详细信息与srvr相似,但是多了每个连接的会话信息

      shell终端输入:echo stat| nc localhost 2181

      • Zookeeper version 版本

      • Latency min/avg/max 延时

      • Received 收包

      • Sent 发包

      • Connections 连接数

      • Outstanding 堆积数

      • Zxid 最大事物id

      • Mode 服务器角色

      • Node count 节点数

    8、srst命令

      srst:重置server状态

      shell终端输入:echo srst| nc localhost 2181

    9、wchs命令

      wchs:列出服务器watches的简洁信息

      shell终端输入:echo wchs| nc localhost 2181

      • connectsions 连接数

      • watch-paths watch节点数

      • watchers watcher数量

    10、wchc命令

      wchc:通过session分组,列出watch的所有节点,它的输出的是一个与 watch 相关的会话的节点列表

      问题:

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

      解决方法:

    # 修改启动指令 zkServer.sh
    # 注意找到这个信息
    else
        echo "JMX disabled by user request" >&2
        ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
    fi
    # 下面添加如下信息
    ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"

      shell终端输入:echo wchc| nc localhost 2181

    11、wchp命令

      wchp:通过路径分组,列出所有的 watch 的session id信息

      问题:

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

      解决方法:

    # 修改启动指令 zkServer.sh
    # 注意找到这个信息
    else
        echo "JMX disabled by user request" >&2
        ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
    fi
    # 下面添加如下信息
    ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"

      shell终端输入:echo wchp| nc localhost 2181

    12、mntr命令

      mntr:列出服务器的健康状态

      • zk_version 版本

      • zk_avg_latency 平均延时

      • zk_max_latency 最大延时

      • zk_min_latency 最小延时

      • zk_packets_received 收包数

      • zk_packets_sent 发包数

      • zk_num_alive_connections 连接数

      • zk_outstanding_requests 堆积请求数

      • zk_server_state leader/follower 状态

      • zk_znode_count znode数量

      • zk_watch_count watch数量

      • zk_ephemerals_count 临时节点(znode)

      • zk_approximate_data_size 数据大小

      • zk_open_file_descriptor_count 打开的文件描述符数量

      • zk_max_file_descriptor_count 最大文件描述符数量

      shell终端输入:echo mntr| nc localhost 2181

  • 相关阅读:
    POJ 3614 Sunscreen
    POJ 2431 Expedition
    如何解决inline-block元素的空白间距 css 完美解决
    li的inline-block出现间隙原因,解决方案
    基线baseline
    CSS IE Hack
    css实现页面文字不换行、自动换行、强制换行
    IE 常见bug
    IE haslayout 问题引起的常见 bug
    CSS Cross-Browser Inline-Block
  • 原文地址:https://www.cnblogs.com/jdy1022/p/14830714.html
Copyright © 2020-2023  润新知