ZooKeeper具有与其数据模型相关的可配置配额(quota)。 可以设置znode上的配额限制和存储的数据量。如果ZooKeeper命名空间中的一个子树超出与其关联的配额,ZooKeeper会在日志中打印警告消息。 但是,如果超出指定的配额,操作并不会取消。

ZooKeeper配额存储在/zookeeper/quota路径的ZooKeeper树中。 可以从ZooKeeper客户端API和ZooKeeper Java shell中设置,列出和删除配额。 以下截图显示了使用对应setlistdel命令的结果:

在上面的示例中,创建了一个/quota_example的新建znode,并设置了两个子znode的配额。 然后,列出了分配的配额,以及如何删除分配的配额。

当我们在/quota_example下面创建第三个子节点时,ZooKeeper日志文件中会显示以下警告消息,通知我们超出了配额:

ZooKeeper还提供可配置的选项来控制服务的身份验证和授权。
zookeeper.DigestAuthenticationProvider.superDigest参数使ZooKeeper ensemble管理员能够以超级用户身份访问znode层次结构。 ZooKeeper服务不对通过身份验证的用户进行任何ACL检查。 此功能在默认情况下是禁用的。

要为超级用户生成Digest认证,可以使用参数super:<password>调用org.apache.zookeeper.server.auth.DigestAuthenticationProvider的Java系统属性。 一旦生成了Digest认证,需要在启动ZooKeeper服务器时提供super:<data>作为系统属性。

ZooKeeper客户端需要传递super:<password> Digest和认证数据方案来与ZooKeeper服务器进行认证。 在使用ZooKeeper shell时,可以使用addauth命令。

12. ZooKeeper配额和认证的更多相关文章

  1. ZooKeeper配额

    ZooKeeper可以在znode上设置配额限制.如果超出了配置限制,ZooKeeper将会在log日志中打印WARN日志.如果超出配额限制,并不会停止行为操作. ZooKeeper的配额是存储在/z ...

  2. 第12章 添加对外部认证的支持 - Identity Server 4 中文文档(v1.0.0)

    注意 对于任何先决条件(例如模板),首先要查看概述. 接下来,我们将添加对外部认证的支持.这非常简单,因为您真正需要的是ASP.NET Core兼容的身份验证处理程序. ASP.NET Core本身支 ...

  3. ZooKeeper配额指南(十)

    配额 ZK有命名空间和字节配额.你可以使用ZooKeeperMain类来设置配额.ZK打印警告信息如果用户超过分配给他们的配额.这些信息被打印到ZK的日志中. $java -cp zookeeper. ...

  4. 射频识别技术漫谈(12)——三次相互认证【worldsing笔记】

    射频识别系统中由于卡片和读写器并不是固定连接为一个不可分割的整体,二者在进行数据通讯前如何确信对方的合法身份就变得非常重要.根据安全级别的要求不同,有的系统不需认证对方的身份,例如大多数的TTF模式的 ...

  5. 12. ZooKeeper之Java客户端API使用—创建会话。

    转自:https://blog.csdn.net/en_joker/article/details/78686649 客户端可以通过创建一个ZooKeeper(org.apache.zookeeper ...

  6. 分布式服务Dubbo+Zookeeper安全认证

    前言 由于之前的服务都是在内网,Zookeeper集群配置都是走的内网IP,外网不开放相关端口.最近由于业务升级,购置了阿里云的服务,需要对外开放Zookeeper服务. 问题 Zookeeper+d ...

  7. 在CentOS7上安装和使用ZooKeeper最新版本(V3.4.12)

    0.ZooKeeper文档 http://zookeeper.apache.org/doc/r3.4.11/zookeeperOver.html 1.准备 在CentOS7上安装zookeeper时, ...

  8. zookeeper(zkCli)命令概览

    连接: ./zkCli.sh -timeout 0 -r -server ip:port -timeout:当前会话的超时时间,zookeper依靠与客户端的心跳来判断会话是否有效,单位是毫秒-r: ...

  9. ZooKeeper: 简介, 配置及运维指南

    1. 概览 ZooKeeper是一个供其它分布式应用程序使用的软件, 它为其它分布式应用程序提供所谓的协调服务. 所谓的协调服务, 是指ZooKeeper的如下能力 naming 命名 configu ...

随机推荐

  1. 从零开始教你封装自己的vue组件

    组件(component)是vue.js最强大的功能之一,它可以实现功能的复用,以及对其他逻辑的解耦.但经过一段时间的使用,我发现自己并没有在业务中发挥出组件的最大价值.相信很多刚开始使用vue的朋友 ...

  2. 如何快速部署 Prometheus?- 每天5分钟玩转 Docker 容器技术(85)

    上一节介绍了 Prometheus 的核心,多维数据模型.本节演示如何快速搭建 Prometheus 监控系统. 环境说明 我们将通过 Prometheus 监控两台 Docker Host:192. ...

  3. tp5上传图片添加永久素材到微信公众号

    $file = request()->file('image');if(!$file){ $res['status'] = false; $res['msg'] = '必须上传文件'; retu ...

  4. C语言(记录)——内存相关_2:内存的编址与管理

    本文是基于嵌入式的C语言 --------------------------------------------------------------------------------------- ...

  5. open-falcon Agent配置文件修改hostname后,还是有其他名称的endpoint

    问题 open-falcon Agent在配置文件修改hostname后,log日志中还是发现其他名称的endpoint. 原因 Graph, Gateway组件会引用goperfcounter(gi ...

  6. C++STL之双端队列容器

    C++STL之双端队列容器 deque双端队列容器与vector很类似,采用线性表顺序存储结构.但与vector区别,deque采用分块的线性存储结构来存储数据,每块的大小一般为512B,将之称为de ...

  7. Maple trees(最小覆盖圆)

    Maple trees Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...

  8. sql语句练习题及答案

    表结构 创建表数据    SET NAMES utf8;    SET FOREIGN_KEY_CHECKS = 0;    -- ----------------------------    -- ...

  9. 0_Simple__matrixMulDrv

    使用CUDA的 Driver API 来计算矩阵乘法. ▶ 源代码: #include <stdio.h> #include <cuda.h> #include <bui ...

  10. Java IO编程全解(三)——伪异步IO编程

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7723174.html 前面讲到:Java IO编程全解(二)--传统的BIO编程 为了解决同步阻塞I/O面临 ...