• ZooKeeper 06 ZooKeeper 的常用命令


    若要部署 ZooKeeper 单机环境,请查看此篇:https://www.cnblogs.com/shoufeng/p/10591508.html

    若要部署 ZooKeeper 集群环境,请查看此篇:https://www.cnblogs.com/shoufeng/p/10591526.html

    1 - 服务端常用命令

    直接执行 zkServer.sh,会给出如下提示:

    ZooKeeper JMX enabled by default
    Using config: /data/zookeeper-3.5.8/bin/../conf/zoo.cfg
    Usage: ./zkServer.sh [--config <conf-dir>] {start|start-foreground|stop|restart|status|print-cmd}
    

    根据上面的提示,可以知道此脚本可以通过指定参数来执行不同的功能:

    # 启动服务:
    sh zkServer.sh start 
    
    # 查看服务状态:
    sh zkServer.sh status 
    
    # 停止服务:
    sh zkServer.sh stop 
    
    # 重启服务:
    sh zkServer.sh restart  
    

    2 - 客户端常用命令

    使用 zkCli.sh -server ip:2181 连接到 ZooKeeper 服务,控制台就会输出 ZooKeeper 的相关环境以及配置信息。

    # 查看某个目录下的节点:
    ls /zookeeper
    # 查看当前节点数据并能看到更新次数等数据
    ls -s /zookeeper
    
    # 创建新的 Znode,并设置数据:[-e] 是临时节点,[-s] 是顺序节点
    create /test "test-znode"
    # 获取节点中的数据
    get /test
    # 修改节点内容
    set /test "test-update"
    
    # 删除节点,如果存在子节点删除失败
    delete /test
    
    # 递归删除当前节点及其下的所有子节点
    deleteall /test
    

    3 - 常用四字命令

    可通过 telnet 或 nc 提交四字命令与 ZooKeeper 交互,比如获取 ZooKeeper 服务的状态等。

    先安装好 nc:yum -y install nc

    # 查看哪个节点被选择作 leader 或 follower
    echo stat | nc 127.0.0.1 2181
    # 测试是否启动该Server,若回复 imok 表示已经启动
    echo ruok | nc 127.0.0.1 2181 
    # 列出未经处理的会话和临时节点
    echo dump | nc 127.0.0.1 2181
    
    # 输出服务配置的详细信息
    echo conf | nc 127.0.0.1 2181
    # 列出所有连接到该 Server 的客户端的连接 / 会话的详细信息
    echo cons | nc 127.0.0.1 2181
    
    # 输出关于服务环境的详细信息(区别于 conf 命令)
    echo envi | nc 127.0.0.1 2181
    
    # 列出未经处理的请求
    echo reqs | nc 127.0.0.1 2181
    
    # 列出服务器 watch 的详细信息
    echo wchs | nc 127.0.0.1 2181
    # 通过 session 列出服务器 watch 的详细信息,结果是一个与 watch 相关的会话列表
    echo wchc | nc 127.0.0.1 2181
    # 通过路径列出服务器 watch 的详细信息,结果是一个与 session 相关的路径
    echo wchp | nc 127.0.0.1 2181
    
    # 关掉该 Server
    echo kill | nc 127.0.0.1 2181
    

    4 - ZooKeeper 日志的可视化

    ZooKeeper 的配置文件中指定的 dataDir 目录,用来存放快照数据,dataLogDir 用来存放事务日志文件。

    打开这两个目录下的文件,会发现它们都是乱码的,这个时候可以通过如下方法打开:

    # 查看事务日志,指定 jar 包、启动类和日志文件的绝对路径:
    java -cp /data/zookeeper-3.5.8/lib/zookeeper-3.5.8.jar:/data/zookeeper-3.5.8/lib/zookeeper-jute-3.5.8.jar:/data/zookeeper-3.5.8/lib/slf4j-api-1.7.25.jar \
    org.apache.zookeeper.server.LogFormatter \
    /data/zookeeper-3.5.8/data/log/version-2/log.d96
    
    # 查看快照数据,指定 jar 包、启动类和数据文件的绝对路径:
    java -cp /data/zookeeper-3.5.8/lib/zookeeper-3.5.8.jar:/data/zookeeper-3.5.8/lib/zookeeper-jute-3.5.8.jar:/data/zookeeper-3.5.8/lib/slf4j-api-1.7.25.jar \
    org.apache.zookeeper.server.SnapshotFormatter \
    /data/zookeeper-3.5.8/data/version-2/snapshot.d95
    

    版权声明

    作者:瘦风(https://healchow.com)

    出处:博客园-瘦风的南墙(https://www.cnblogs.com/shoufeng)

    感谢阅读,公众号 「瘦风的南墙」 ,手机端阅读更佳,还有其他福利和心得输出,欢迎扫码关注

    本文版权归博主所有,欢迎转载,但 [必须在页面明显位置标明原文链接],否则博主保留追究相关人士法律责任的权利。

  • 相关阅读:
    苹果手机的SB系列(9)移动版的AAP个个都比桌面版大?
    初识Redis(四)
    初识Redis(三)
    初识Redis(二)
    初识Redis(一)
    Codeforces Round #589 (Div. 2)
    康拓展开学习笔记
    最短路模板
    K
    D
  • 原文地址:https://www.cnblogs.com/shoufeng/p/15680031.html
Copyright © 2020-2023  润新知