(二)zookeeper命令

本文记录了Zookeeper的所有命令及使用场景,需提前配置好环境。涵盖ZNode增删查改操作、quota配额设置、ACL访问控制列表机制等内容,还包括测试示例及其他命令,如历史命令查看、重新执行命令、集群数据同步等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

本章将记录所有的zookeeper命令以及可能使用的场景,需提前配置好zookeeper环境

ZNode增删查改操作

  • help 查看zk命令列表
  • create ,创建节点, path可以为绝对路径也可以为相对路径 , data为节点值, -s 表示创建顺序节点, -e表示创建临时节点(使用很多,会话关闭或者创建节点的Cli关闭节点会小时)。 
  • delete , 删除空节点,节点不为空或有子节点时,会报错“node not empty”, ,version代表期望的版本号,输入version时只有节点的数据版本号与version相同才能删除节点。
  • rmr  , 删除path节点及子路径,不要求节点为空
  • ls , 查询path下子节点, watch可选,表示是否监听节点,后面watch都是这个含义。当watch大于0时,当节点数据改变、
  • ls2 
  • get ,获取节点数据
  • set , 修改path节点数据为data。输入version时,只有当前数据版本号与version相同时修改成功。
  • stat , 查看节点状态

quota

  • setquota  ,设置path配额
  • listquota    列出path配额

  • delquota ,删除path配额

ACL

ACL(访问控制列表)机制用于ZK节点的权限控制,,

ACL控制类型分为world、auth、digest、ip四种方式,,world是默认类型,所有人可访问,,ip用于对cli的ip进行控制,,digest是用户名和密码形式,密码为Base64(sha1(password)),先sha1加密,Base64编码。

权限分为crwda,分别代表创建(create)、读取(read)、修改(write)、删除(delete)、管理(admin),,

  • setAcl 
  • getAcl ,查询path的acl设置

  • addAuth ,操作节点前ASC验证

测试: 

ipacl:,创建新节点,, ,查看ACL,默认为world:anyone,允许cdrwa操作,即所有操作,, ,设置ipacl节点acl为ip。 ,,,不能直接访问,只能通过192.168.100.1的cli访问

digest:,,,设置/degest节点为digest方式,auth为user1 HY.../s=这部分是123456按照sha1加密,Base64编码的结果,授予rwda权限。,直接访问节点被拒绝,,,添加验证然后访问,这里的密码为明文。

附一个JAVA生成ACL密码的方法:

static public String generateDigest(String idPassword)
            throws Exception {
        String parts[] = idPassword.split(":", 2);
        byte digest[] = MessageDigest.getInstance("SHA1").digest(
                idPassword.getBytes());
        return parts[0] + ":" + base64Encode(digest);
    }

    private static String base64Encode(byte[] bytes) throws Exception {
        final Base64.Decoder decoder = Base64.getDecoder();
        final Base64.Encoder encoder = Base64.getEncoder();
        //编码
        final String encodedText = encoder.encodeToString(bytes);
        return encodedText;
    }

 

其它

  • history 列出历史命令及命令号 

  • redo ,重新执行cmdno的命令,命令号可用history查出

  • sync ,强制zk集群同步数据,,因为做修改时只要有半数机器应用即提示应用成功,sync将path的修改应用到整个集群,而不仅是半数机器。

  • close ,关闭连接 ,不退出zkCli

  • connect , close后连接host:port

  • quit 退出zkCli

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值