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命令。

  • 相关阅读:
    Power BI 根据用户权限动态生成导航跳转目标
    Power BI Tooltips 增强功能
    Power BI refresh error “could not load file or assembly…provided impersonation level is invalid”
    SQL 错误代码 18456
    如何使用SQL Server Integration Services从多个Excel文件读取数据
    通过表格编辑器将现有表引入Power BI数据流
    Power BI 中动态增长的柱状图
    ambari2.7.3离线安装hdp3.1.0时,ambari-hdp-1.repo中baseurl无值
    ambari 安装 cannot download file mysql-connector-java from http://8080/resource/mysql-connector-java.jar
    洛谷P4180 [BJWC2010]严格次小生成树
  • 原文地址:https://www.cnblogs.com/Finley/p/9697273.html
Copyright © 2011-2022 走看看