zoukankan      html  css  js  c++  java
  • ZooKeeper 初体验

    安装Zookeeper

    Mac OS

    Mac 用户可以使用 Homebrew 安装和管理 Zookeeper 服务:

    brew install zookeeper
    

    配置文件地址在: /usr/local/etc/zookeeper。

    启动 zookeeper 服务:

    brew services start zookeeper
    

    进入命令行客户端zkCli:

    zkCli
    

    默认连接localhost:2181, 手动指定服务地址:

    zkCli -server localhost:2181
    

    Docker

    可以使用官方提供的Docker镜像快速启动Zookeeper。

    启动服务端:

    docker run --name my_zookeeper -d zookeeper
    

    ZNode 操作

    使用终端工具ZkCli连接:

    docker run -it --rm --link my_zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper
    

    命令行客户端 zkCli 可以交互式操作 Zookeeper, 其命令风格类似于 Unix 终端。

    ls

    查看某个路径包含的所有节点:

    [zk: localhost:2181(CONNECTED) 1] ls /
    [cluster, zookeeper, admin, config]
    [zk: localhost:2181(CONNECTED) 2] ls /zookeeper
    [quota]
    

    ls2

    查看某个路径包含的所有节点,以及节点元数据:

    [zk: localhost:2181(CONNECTED) 7] ls2 /zookeeper
    [quota]
    cZxid = 0x0
    ctime = Thu Jan 01 08:00:00 CST 1970
    mZxid = 0x0
    mtime = Thu Jan 01 08:00:00 CST 1970
    pZxid = 0x0
    cversion = -1
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 0
    numChildren = 1
    

    create

    创建节点:

    [zk: localhost:2181(CONNECTED) 0] create /test 1
    Created /test
    

    /test为创建节点的路径,1为Znode的数据data

    create 命令无法递归创建节点,即/test节点不存在时不能直接创建/test/t1

    使用-e 选项创建临时节点:

    [zk: localhost:2181(CONNECTED) 0] create -e /test/t2 t2
    Created /test/t2
    [zk: localhost:2181(CONNECTED) 1] get /test/t2
    t2
    [zk: localhost:2181(CONNECTED) 2] quit
    Quitting...
    [zk: localhost:2181(CONNECTED) 0] get /test/t2
    Node does not exist: /test/t2
    

    退出zkCli后重新进入,临时节点已经消失。

    get

    获取节点数据与元数据:

    [zk: localhost:2181(CONNECTED) 8] get /test
    1
    cZxid = 0x11d28
    ctime = Sat Sep 01 16:04:08 CST 2018
    mZxid = 0x11d28
    mtime = Sat Sep 01 16:04:08 CST 2018
    pZxid = 0x11d28
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 1
    numChildren = 0
    

    set

    更改节点数据:

    [zk: localhost:2181(CONNECTED) 9] set /test 2
    cZxid = 0x11d28
    ctime = Sat Sep 01 16:04:08 CST 2018
    mZxid = 0x11d2a
    mtime = Sat Sep 01 16:25:46 CST 2018
    pZxid = 0x11d28
    cversion = 0
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 1
    numChildren = 0
    

    可以注意到版本号发生了变化。

    delete

    删除节点:

    [zk: localhost:2181(CONNECTED) 2] delete /test
    

    只能删除没有子节点的Znode,若要将子节点一同删除需使用rmr命令。

  • 相关阅读:
    2022北航软件研究生入学考试991考试大纲-数据结构与C
    pgsql 学习
    Java开发必须掌握的 20+ 种 Spring 常用注解
    Spring 学习总结
    Spring MVC快速入门教程
    spring boot与spring mvc的区别是什么?
    Java知识体系最强总结(2020版)
    arthas(阿尔萨斯)使用实践----查看慢方法 /方法耗时等
    JVM --------jmap-----查看堆内存信息、生成heap dump 文件(转储堆内存快照到指定文件)
    [JVM】jstat命令详解---JVM的统计监测工具:jstat 堆内存各部分的使用量,以及加载类的数量。
  • 原文地址:https://www.cnblogs.com/Finley/p/9697273.html
Copyright © 2011-2022 走看看