zk四字命令 Four Letter Words

四字命令简介

  • zk可以通过它自身提供的简写命令来和服务器进行交互
    zk通过简写的命令和服务器进行交互,进行交互之后可以提供一些服务器的状态信息、环境变量、包括一些临时会话(session)等等,四字命名非常适合运维去监控
  • 需要使用到nc命令,安装:yum install nc
  • echo [commond] | nc [ip] [port]

查看四字命令的官方文档方法

可以打开zookeeper官网或者下载到本地的文件目录中找到四字命令的使用文档看下,我这里使用的是下载到本地的使用文档,

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper


zookeeper 四字命令废弃 zookeeper禁止四字命令_zk四字命令_02


zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper四字命令_03


zookeeper 四字命令废弃 zookeeper禁止四字命令_zk四字命令_04


英文差的可以翻译后看下

nc

nc简介

nc命令是netcat命令的简称,都是用来设置路由器,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。nc官方地址nc安装

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper 四字命令废弃_05


输入yum install nc 安装nc

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper_06


zookeeper 四字命令废弃 zookeeper禁止四字命令_端口号_07


如下安装完成

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper四字命令_08


测试:在这个终端下输入:nc -l 9999,随便输入些字符,回车,然后再打开另外一个终端输入nc ip 端口号,可以查看到刚才输入的字符内容,证明nc安装成功

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper四字命令_09

nc语法:nc/netcat(选项)(参数)
选项
-g<网关>:设置路由器跃程通信网关,最多设置8个;
-G<指向器数目>:设置来源路由指向器,其数值为4的倍数;
-h:在线帮助;
-i<延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口;
-l:使用监听模式,监控传入的资料;
-n:直接使用ip地址,而不通过域名服务器;
-o<输出文件>:指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存;
-p<通信端口>:设置本地主机使用的通信端口;
-r:指定源端口和目的端口都进行随机的选择;
-s<来源位址>:设置本地主机送出数据包的IP地址;
-u:使用UDP传输协议;
-v:显示指令执行过程;
-w<超时秒数>:设置等待连线的时间;
-z:使用0输入/输出模式,只在扫描通信端口时使用。
nc在没有安装前,不可以使用
参数

  • 主机:指定主机的IP地址或主机名称;
  • 端口号:可以是单个整数或者是一个范围。

Zookeeper 四字命令

安装好nc后,就可以使用zk的四字命令了

  • [stat] 查看zk的状态信息,以及是否mode
    mode:1 集群的模式 2 单例的模式
    在终端输入echo stat | nc ip 端口号,提示不在stat is not executed because it is not in the whitelist.(未执行stat,因为它不在白名单中)

    打开zookeeper文档,搜索 whitelist

    根据文档,从3.4.10版本开始,他增加了4lw.commands.whitelist这个属性,如果我们没有做额外的配置,他的某些四字命令是没有放到白名单中,是禁止使用的,如果要使用需要在配置文件中配置,如果配置**4lw.commands.whitelist=* **,则是所有的四字命令都支持,如果只需要配置部分,则可以写在=后面,以逗号隔开
    根据zk使用文档,需要在安装目录下/conf/zoo.cfg配置文件中添加:4lw.commands.whitelist=

    将 *4lw.commands.whitelist= **复制到文件的最后一行
[ruok] 查看当前zkServer是否启动,返回imok

echo ruok | nc ip 端口号,如果zookeeper服务是启动状态,则会返回imok

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper四字命令_10


zookeeper 四字命令废弃 zookeeper禁止四字命令_zk四字命令_11

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

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper_12


再次打开一个终端,并使用zkCli.sh连接到zookeeper

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper_13


zookeeper 四字命令废弃 zookeeper禁止四字命令_zk四字命令_14


zookeeper 四字命令废弃 zookeeper禁止四字命令_zk四字命令_15


zookeeper 四字命令废弃 zookeeper禁止四字命令_端口号_16

[conf] 查看服务器配置

*echo conf | nc ip 端口号

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper四字命令_17

[cons] 展示连接到服务器的客户端信息

echo cons | nc ip 端口号

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper_18

[envi] 环境变量

echo envi | nc ip 端口号:查看zookeeper的环境变量,可以把环境变量的相关信息全部打印出来

zookeeper 四字命令废弃 zookeeper禁止四字命令_zk四字命令_19

[mntr] 监控zk健康信息

echo mntr | nc ip 端口号 :监控zk的健康信息

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper_20


[root@localhost conf]# echo mntr | nc 192.168.1.11 2181

zk_version 3.5.4-beta-7f51e5b68cf2f80176ff944a9ebd2abbc65e7327, built on 05/11/2018 16:27 GMT --zk的版本号

zk_avg_latency 1

zk_max_latency 292

zk_min_latency 0

zk_packets_received 235

zk_packets_sent 234

zk_num_alive_connections 2

zk_outstanding_requests 0

zk_server_state standalone --zk状态,单机/ 集群

zk_znode_count 8 --znode的节点数量

zk_watch_count 0 --监听者的数量

zk_ephemerals_count 1 --临时节点的数量

zk_approximate_data_size 83

zk_open_file_descriptor_count 47

zk_max_file_descriptor_count 4096

[wchs] 展示watch的信息

echo wchs | nc ip 端口号通过该命令可以知道整个zookeeper中的有多少个watch

zookeeper 四字命令废弃 zookeeper禁止四字命令_端口号_21


打开另外一个终端,设置一个watch

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper 四字命令废弃_22


zookeeper 四字命令废弃 zookeeper禁止四字命令_端口号_23

[wchc] 与 [wchp] session与watch及path与watch信息

wchc与wchp分别可以通过session及他的path和他对应监督者的信息一起列出来

zookeeper 四字命令废弃 zookeeper禁止四字命令_zookeeper四字命令_24