## 六 zk四字命令 Four Letter Words

- zk可以通过它自身提供的简写命令来和服务器进行交互

- 需要用到nc命令, 安装: yum install nc

- echo [] | nc [ip\] [port]

  - [stat] 查看zk的状态信息, 以及运行模式

  ``` shell
  
  [hadoop@hadoop001 ~]$ echo stat | nc localhost 2181
  Zookeeper version: 3.4.5-cdh5.7.0--1, built on 03/23/2016 18:31 GMT
  Clients:
   /0:0:0:0:0:0:0:1:45200[1](queued=0,recved=612,sent=612)
   /0:0:0:0:0:0:0:1:45194[1](queued=0,recved=589,sent=589)
   /192.168.199.188:37432[0](queued=0,recved=1,sent=0)
   /0:0:0:0:0:0:0:1:45202[1](queued=0,recved=4928,sent=4928)
   /0:0:0:0:0:0:0:1:45196[1](queued=0,recved=746,sent=746)
   /0:0:0:0:0:0:0:1:45258[1](queued=0,recved=1669,sent=1669)
  
  Latency min/avg/max: 0/0/142
  Received: 8552
  Sent: 8551
  Connections: 6
  Outstanding: 0
  Zxid: 0x2b7
  Mode: standalone
  Node count: 61
  ```

  - [ruok] 查看当前zkserver是否启动, 返回imok  说明已经启动

  ``` shell
  [hadoop@hadoop001 ~]$ echo ruok | nc localhost 2181
  imok
  ```

  - [dump] 列出未经处理的会话和临时节点

  ``` shell
  imok[hadoop@hadoop001 ~]$ echo dump | nc 192.168.199.126 2181
  SessionTracker dump:
  Session Sets (8):
  0 expire at Mon Jan 07 19:25:48 CST 2019:
  0 expire at Mon Jan 07 19:25:50 CST 2019:
  0 expire at Mon Jan 07 19:25:52 CST 2019:
  0 expire at Mon Jan 07 19:25:54 CST 2019:
  0 expire at Mon Jan 07 19:25:56 CST 2019:
  0 expire at Mon Jan 07 19:25:58 CST 2019:
  3 expire at Mon Jan 07 19:26:04 CST 2019:
          0x16827cb1adf0003
          0x16827cb1adf0001
          0x16827cb1adf0000
  2 expire at Mon Jan 07 19:26:06 CST 2019:
          0x16827cb1adf0006
          0x16827cb1adf0004
  ephemeral nodes dump:
  Sessions with Ephemerals (3):
  0x16827cb1adf0006:
          /storm/supervisors/9543f509-19a3-4240-9787-b00e845bb644
  0x16827cb1adf0001:
          /storm/leader-lock/_c_50e47c9d-3d48-43fc-ad09-f53d749b3cfe-latch-0000000000
  0x16827cb1adf0003:
          /storm/nimbuses/localhost:6627
  ```

  - [conf] 查看服务器相关配置

  ``` shell
  [hadoop@hadoop001 ~]$ echo conf | nc 192.168.199.126 2181
  clientPort=2181
  dataDir=/root/bigdata/zookeeper-3.4.5-cdh5.7.0/data/version-2
  dataLogDir=/root/bigdata/zookeeper-3.4.5-cdh5.7.0/logs/version-2
  tickTime=2000
  maxClientCnxns=60
  minSessionTimeout=4000
  maxSessionTimeout=40000
  serverId=0
  ```

  - [cons] 展示链接到服务器的客户端信息
  - [envi] 环境变量

  ```shell
  [hadoop@hadoop001 ~]$ echo cons | nc 192.168.199.126 2181
   /0:0:0:0:0:0:0:1:45200[1](queued=0,recved=703,sent=703,sid=0x16827cb1adf0003,lop=PING,est=1546856060540    ,to=20000,lcxid=0x17,lzxid=0x330,lresp=1546860590622,llat=0,minlat=0,avglat=0,maxlat=11)
   /0:0:0:0:0:0:0:1:45194[1](queued=0,recved=680,sent=680,sid=0x16827cb1adf0000,lop=PING,est=1546856060423    ,to=20000,lcxid=0x0,lzxid=0x330,lresp=1546860590389,llat=1,minlat=0,avglat=0,maxlat=6)
   /0:0:0:0:0:0:0:1:45202[1](queued=0,recved=5785,sent=5785,sid=0x16827cb1adf0004,lop=PING,est=15468560605    57,to=20000,lcxid=0x14e5,lzxid=0x331,lresp=1546860594625,llat=0,minlat=0,avglat=0,maxlat=42)
   /0:0:0:0:0:0:0:1:45196[1](queued=0,recved=858,sent=858,sid=0x16827cb1adf0001,lop=PING,est=1546856060432    ,to=20000,lcxid=0xb2,lzxid=0x331,lresp=1546860595391,llat=0,minlat=0,avglat=0,maxlat=13)
   /192.168.199.188:37462[0](queued=0,recved=1,sent=0)
   /0:0:0:0:0:0:0:1:45258[1](queued=0,recved=2097,sent=2097,sid=0x16827cb1adf0006,lop=GETC,est=15468576130    97,to=20000,lcxid=0x830,lzxid=0x331,lresp=1546860594460,llat=1,minlat=0,avglat=3,maxlat=142)
  ```

  - [mntr] 监控zk的健康信息

  ``` shell
  [hadoop@hadoop001 ~]$ echo mntr | nc localhost 2181
  zk_version      3.4.5-cdh5.7.0--1, built on 03/23/2016 18:31 GMT
  zk_avg_latency  0
  zk_max_latency  142
  zk_min_latency  0
  zk_packets_received     10443
  zk_packets_sent 10442
  zk_num_alive_connections        6
  zk_outstanding_requests 0
  zk_server_state standalone
  zk_znode_count  61
  zk_watch_count  2
  zk_ephemerals_count     3
  zk_approximate_data_size        2117
  zk_open_file_descriptor_count   33
  zk_max_file_descriptor_count    4096
  ```

