003、zoookeeper常用的shell命令概述
本文最后更新于 67 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

zoookeeper常用的shell命令概述

一.znode的基础操作

1.创建znode

    zookeeper使用create命令创建znode

    create命令常用的选项:
        -e:
            创建临时znode。
        -s:
            创建带有编号的znode。

    温馨提示:
        直接在命令行输入"create"指令就可以看到其对应的帮助信息哟~

2.查看znode

    使用ls命令查看某个znode下的子znode信息,常用选项如下:
        -w:
            启用监听器watch功能。
        -s:
            查看stat命令的相关信息且查看给定znode路径的子节点信息。
        -R:
            对查看znode且查看给定znode路径的子节点信息。

    使用get命令可以查看znode中存储的数据。
        -s:
            查看stat命令的相关信息。
        -w:
            启用监听器watch功能。

    使用stat命令可以查看znode的元数据信息。
        cZxid:
            数据节点创建时的事物ID。        
        ctime:
            数据节点创建时的时间。        
        mZxid:
            数据节点最后一次更新时的事物ID。        
        mtime:
            数据节点最后一次更新时的时间。        
        pZxid:
            数据节点的子节点最后一次被修改时的事务ID。        
        cversion:
            子节点的更改次数。        
        dataVersion:
            数据节点的更改次数,即维护的是一个数据版本号。        
        aclVersion:
            节点的ACL的更改次数。        
        ephemeralOwner:
            如果节点是临时节点,则表示创建该节点的会话SessionID,如果节点是持久节点,则该属性值为0。        
        dataLength:
            数据内容的长度。        
        numChildren:
            数据节点当前的子节点的数量。

    温馨提示:
        (1)直接在命令行输入"ls","get"指令就可以看到其对应的帮助信息哟~
        (2)比较老的版本还在用"ls2"命令查看,zookeeper 3.7版本中已将其移除

3.修改znode数据

    zookeeper使用set命令修改znode数据,常用命令选项如下所示:
        -s:
            修改数据后,返回znode的stat信息。   
        -v:
            修改数据时可以指定子节点更改的次数版本("dataVersion"),这和ES的乐观锁机制有点类似哟~

4.删除znode

    zookeeper使用delete命令删除znode,要求该znode没有子znode节点哟。

    zookeeper使用deleteall命令删除包含子znode节点,生产环境中慎用哟,有点类似于linux的"rm -rf"指令。

5.课堂练习

(1)创建/oldboyedu/linux/zhibo # 有序,临时znode
(2)创建/oldboyedu/python/pachong # 临时znode
(3)创建/oldboyedu/java/javase # 有序,非临时znode
(4)创建/oldboyedu/java/bigdata # 非临时znode
(5)创建/oldboyedu/java/bigdata/hdfs # 持久znode
(6)创建/oldboyedu/java/bigdata/yarn # 临时znode
(7)创建退出当前会话,再重新登录,验证现有的znode
(8)创建删除/oldboyedu/java这个znode

二.监听器案例

1.使用"get -w path"注册监听器,监听znode的数据变化

get /hadoop

set /hadoop "HADOOP2021"

get -w /hadoop  # 注意哈,此时我用"-w"监听了当前的znode。HADOOP2021

set /hadoop "SPARK"  # 当我们修改znode的数据后,在当前终端会触发相应的通知机制。

set /hadoop "FLINK"  # 当我们在此修改时,发现并没有新的通知机制,说明"-w"选项只能触发一次哟~

2.使用"stat -w path"注册监听器,监听znode的数据变化

stat -w /hadoop 

set /hadoop "Storm"

set /hadoop "HBase"

3.使用"ls -w path"注册监听器,监听znode的子节点数量的变化

ls -w /hadoop  # 注意哈,此处我启用了监听器

set /hadoop "HADOOP"  # 修改当前znode数据发现并没有触发监听器的通知机制

set /hadoop/hdfs "NN DN JN"  # 修改子znode的数据发现依旧是没有触发监听器机制

create /hadoop/hive "Hive"  # 但当我们在监听的znode节点下创建(你也可以尝试一下删除)新节点时,就会触发监听器的通知机制。

三.删除监听器

get -w /oldboy  # 注意哈,此处使用了get指令添加了一个监视器

removewatches /oldboy  # 此处我又使用"removewatches"指令删除了监听器

set /oldboy "OLDBOY"  # 当我们修改znode发现并没有触发监听器,这正是由于上面我们删除监听器导致的。
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇