zookeeper初识

2023-05-16

一、节点类型

persistent 持久节点

persistent_sequential 持久序号节点

ephemeral 临时节点

ephemeral_sequential 临时序号节点

 

1.persistent 持久节点

默认创建的节点

创建方式

 

create /newNode

 

2.persistent_sequential 持久序号节点

给创建的持久节点后面加上序号后缀。 非常适用于分布式锁、分布式选举等场景

创建的时候添加-s参数即可

 

create -s /test

#返回创建的实际路径

created /test0000000001

 

create -s /test

#返回创建的实际路径2

created /test0000000002

 

3.ephemeral 临时节点

临时节点会在客户端会话断开后自动删除。适用于心跳,服务发现等场景

创建的时候加上参数 -e 即可

 

create -e /temp

 

4.ephemeral_sequential 临时序号节点

与持久序号节点类似,不同之处是临时序号节点会在会话断开后删除。

创建的时候加上参数 -e -s 即可

 

create -e -s /tempNum

 

 

二、节点属性

 

节点属性的查看方式 stat /nodePath

 

节点属性说明

===============================================================

cZxid 创建节点的事务ID

ctime 创建时间

mZxid 修改节点的事务ID

mtime 最后修改时间

pZxid 子节点变更事务ID

cversion 对此znode的子节点进行的更改次数(不包括子节点)

dataVersion 数据版本,变更次数

aclVersion 权限版本,变更次数

ephemeralOwner 临时节点所属会话ID

dataLength 数据长度

numChildren 子节点数

===============================================================

 

 

三、节点的监听

客户添加 -w 参数可以实时监听节点和子节点的变化,并且实时收到通知。非常适用于保障分布式情况下的数据一致性。

===============================================================

ls -w path 监听子节点的变化(增、删)

===============================================================

get -w path 接听节点数据的变化

===============================================================

stat -w path 监听节点属性的变化

===============================================================

printwatches on|off 触发监听后,是否打印监听事件(默认on)

===============================================================

 

四、acl权限设置

ACL全称 access control list(访问控制列表) 用于控制资源的访问权限

zk使用ACL来控制对其znode的访问

基于scheme:id:permission的方式进行权限控制

scheme: 表示授权模式

id: 模式对应值

permission: 具体的正删改权限位

 

scheme

================================================================

world 开发模式,全世界都可以访问 默认的设置

ip ip 模式 限定某个IP才可以访问

auth 用户密码认证模式,只有在会话中添加了认证才可以访问

digest 与auth类似 区别是auth用明文密码 digest使用sha-1+base64加密后的密码 在实际使用中 digest更常见

================================================================

 

permission权限位

================================================================

c create 可以创建子节点

d delete 可以删除子节点(仅下一级节点)

r read 可以读取节点数据及显示子节点列表

w write 可以设置节点数据

a admin 可以设置节点访问控制列表权限

================================================================

 

acl相关命令

================================================================

getAcl getAcl path 获取ACL权限

setAcl setAcl path acl 设置ACL权限

addauth addauth scheme auth 添加认证用户

================================================================

 

world权限示例

setAcl path world:anyone:权限位

 

[zk: localhost:2181(CONNECTED) 17] create -e /testAcl

Created /testAcl

[zk: localhost:2181(CONNECTED) 18] getAcl /testAcl

'world,'anyone

: cdrwa

[zk: localhost:2181(CONNECTED) 19] setAcl /testAcl world:anyone:rw

[zk: localhost:2181(CONNECTED) 20]

[zk: localhost:2181(CONNECTED) 20] get /testAcl

null

[zk: localhost:2181(CONNECTED) 21] getAcl /testAcl

'world,'anyone

: rw

[zk: localhost:2181(CONNECTED) 22] create /testAcl/sa

Authentication is not valid : /testAcl/sa

[zk: localhost:2181(CONNECTED) 23]

[zk: localhost:2181(CONNECTED) 23]

 

IP权限示例

setAcl <path> ip:<ip地址|地址段>:<权限位>

 

auth模式示例:

语法:

1.setAcl path auth:用户名:密码:权限位

2.addauth digest 用户名:密码

 

digest权限示例:

语法:

1.setAcl path digest:用户名:密钥:权限位

2.addauth digest 用户名:密码

 

ACL特殊说明:

权限仅对当前节点有效,不会让子节点继承。如果限制了IP访问A节点,但是不妨碍该IP访问A节点的子节点/A/B

 

2020 6月  ——于南京

                                                                                                                                       ——天气很热, 继续努力

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zookeeper初识 的相关文章

  • ZooKeeper的学习与应用

    转载 http blog csdn net rengq126 article details 7393227 最近大概学习了一下ZooKeeper 本身并没有深入 LGG尝试着在虚拟机里面搭了平台 看了看一些教材 从网上到处看别人的博文并引
  • zookeeper介绍

    1 简介 Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目 它主要是用来解决分布式应用中经常遇到的一些数据管理问题 如 统一命名服务 状态同步服务 集群管理 分布式应用配置项的管理等 Zookeeper 作为一个
  • Spark学生答题情况分析

    目录 1 流程分析 2 业务模块划分 3 创建模块包结构 4 准备Kafka主题 4 1 测试发送数据到Kafka 5 需求 5 1 代码实现 6 需求 6 1 准备模型 直接训练并使用 6 2 代码实现 7 学生答题情况离线分析 7 1
  • 【狂神说Java】SpringBoo

    作者简介 CSDN内容合伙人 信息安全专业在校大学生 系列专栏 添砖加瓦 狂神说JAVA系列笔记 新人博主 欢迎点赞收藏关注 会回访 个人格言 舞台再大 你不上台 永远是个观众 平台再好 你不参与 永远是局外人 能力再大 你不行动 只能看别
  • Zookeeper报错Will not attempt to authenticate using SASL解决办法

    Will not attempt to authenticate using SASL unknown error 经过查资料 这个问题与zookeeper里面的zoo cfg配置有关 在程序填写的zookeper的路径 一定与zoo cf
  • python-kafka多线程快速读取consumer消费者数据,同时使用批读取与无限流读取改进

    python单线程循环读取consumer会很浪费时间 而且速率远远低于生产者可容纳的速率 因此我们使用多线程来处理IO密集型的读取操作 文章目录 极简的示例 1 生产者 先运行 2 消费者部分多线程读取 消费者改进 1 批次读取 并将读取
  • Arthas 定位CPU跑满问题,源头竟是Apache Beanutils

    一 背景 大早上 线上k8s 机子 某个机子 cpu 飙高 导致k8s 健康检查失败 线上环境会自动执行jstack 上传到oss 通知到 钉钉告警群 直接分析锁 cpu 高的线程 二 过程分析 2 1 排查cpu 占用最高的线程 使用js
  • 微服务全栈:深入核心组件与开发技巧

    文章目录 1 服务注册与发现 1 1 客户端注册 ZooKeeper 1 2 第三方注册 独立的服务Registrar 1 3 客户端发现 1 4 服务端发现 1 5 Consul 1 6 Eureka 1 7 SmartStack 1 8
  • 大数据技术之Zookeeper

    第1章 Zookeeper入门 1 1 概述 Zookeeper是一个开源的分布式的 为分布式框架提供协调服务的Apache项目 Zookeeper从设计模式角度来理解 是一个基于观察者模式设计的分布式服务管理框架 它负责存储和管理大家都关
  • CAP和BASE

    CAP概念 Consistency 一致性 所有节点在同一时间具有相同的数据 Availability 可用性 保证每个请求不管成功或者失败都有响应 Partition Tolerance 分区容错性 系统中任意信息的丢失或失败不会影响系统
  • netty 无阻塞队列 MpscArrayQueue,一个字就是快

    netty提供了高效的线程安全的队列 MpscArrayQueue 一个字快 至于快的原因可以去查看相关的文章 内存的伪共享先关的内容 import static java lang Thread sleep import io netty
  • 大数据课程C5——ZooKeeper的应用组件

    文章作者邮箱 yugongshiye sina cn 地址 广东惠州 本章节目的 掌握Zookeeper的Canal消费组件 掌握Zookeeper的Dubbo分布式服务框架 掌握Zookeeper的Metamorphosis消息中间件 掌
  • zookeeper基本架构

    要全面了解zookeeper 首先我们得知道什么是zookeeper 能做什么 zookeeper是一个开源的分布式协调服务 主要用于数据订阅 发布 集群管理 配置管理 分布式锁 基本架构 zookeeper基本架构如下 zookeeper
  • 手把手带你撸zookeeper源码系列目录

    手把手带你撸zookeeper源码 前言 手把手带你撸zookeeper源码 配置文件 手把手带你撸zookeeper源码 如何启动一个zookeeper服务 手把手带你撸zookeeper源码 从源码角度分析zookeeper启动时都做了
  • Kafka一致性

    一 存在的一致性问题 1 生产者和Kafka存储一致性的问题 即生产了多少条消息 就要成功保存多少条消息 不能丢失 不能重复 更重要的是不丢失 其实就是要确保消息写入成功 这可以通过acks 1来保证 保证所有ISR的副本都是一致的 即一条
  • Zookeeper和Nacos的区别

    Zookeeper和Nacos的区别 在分布式系统中 注册中心充当着重要角色 是服务发现 客户端负载均衡中不可缺少的一员 注册中心除了能够实现基本的功能外 他的稳定性 可用性和健壮性对整个分布式系统的流畅运行影响重大 zookeeper和n
  • zookeeper3.4.6集群部署

    在安装Zookeeper之前 首先需要确保的就是主机名称 可选 hosts都已经更改 并且JDK成功安装 1 安装Zookeeper 使用命令 tar zxvf 命令将gz压缩文件解压 笔者Zookeeper的安装目录为 home Hado
  • kafka配置内外网访问

    listeners 学名叫监听器 其实就是告诉外部连接者要通过什么协议访问指定主机名和端口开放的 Kafka 服务 advertised listeners 和 listeners 相比多了个 advertised Advertised 的
  • Nacos、ZooKeeper和Dubbo的区别

    Nacos ZooKeeper和Dubbo是三个不同的分布式系统组件 它们之间有以下几点区别 功能定位 Nacos主要提供服务发现 配置管理和服务治理等功能 而ZooKeeper主要是分布式协调服务 提供了分布式锁 分布式队列等原语 Dub
  • Zookeeper 和 Dubbo 的关系?

    Zookeeper的作用 zookeeper用来注册服务和进行负载均衡 哪一个服务由哪一个机器来提供必需让调用者知道 简单来说就是ip地址和服务名称的对应关系 当然也可以通过硬编码的方式把这种对应关系在调用方业务代码中实现 但是如果提供服务

随机推荐

  • Nginx安装及简介

    一 Nginx简介 Nginx是一个高性能的服务器 xff0c 类似于Apache Tomcat Jetty IIS等都是服务器 Nginx的优势 xff1a 1 Tomcat Jetty面向Java语言 xff0c 先天就是重量级的web
  • 数据结构之数组代码实现

    数据结构之数组代码实现 package com algorithm array 64 author xff1a Vimonster 64 date xff1a 2019 12 04 22 58 13 64 slogan 任时间再怎样低头呢喃
  • Invalid VCS root mapping

    idea导入springboot项目后 报错如下 xff1a 这个错误的原因是maven路径配置不对 xff0c 解决方案 file setting 在左上角的搜索框输入maven 配置正确的maven安装目录及seetting xml位置
  • Intger和int做比较的坑

    Integer 缓存 xff08 IntegerCache xff09 是 Java 5 中引入的一个有助于节省内存 提高性能的特性 废话不多说 xff0c 看一个栗子 64 author xff1a Vimonster 64 time 2
  • Springboot打成war包部署到Tomcat

    1 在pom xml中修改打成的包名称 lt build gt lt finalName gt 你的包名称 lt finalName gt lt plugins gt lt plugin gt lt groupId gt org sprin
  • zookeeper节点详解

    一 节点类型 persistent 持久节点 persistent sequential 持久序号节点 ephemeral 临时节点 ephemeral sequential 临时序号节点 1 persistent 持久节点 默认创建的节点
  • Zookeeper客户端详解

    zk常见客户端有三种 zookeeper原生Java APIZkClientApache curator 1 原生ZookeeperAPI lt dependency gt lt groupId gt org apache zookeepe
  • UILabel标签文字过长时的显示方式

    lineBreakMode xff1a 设置标签文字过长时的显示方式 label lineBreakMode 61 NSLineBreakByCharWrapping 以字符为显示单位显示 xff0c 后面部分省略不显示 label lin
  • error launching idea

    报错内容如下 解决方法 xff1a 如下图 idea 右击 gt 属性 gt 兼容性 gt 设置 gt 勾选 以管理员身份运行此程序 gt 应用 gt 确定
  • idea打开vue项目卡死问题解决

    解决方案 xff1a file gt settings gt File Types gt ActionScript gt as gt 给下面添加 node modules 然后 apply gt ok
  • Linux下载并安装rabbitmq-server-3.6.5-1.noarch.rpm

    目录 1 安装rabbitmq所需要的依赖包 2 下载安装包 3 安装服务命令 4 修改配置 5 启动rabbitmq 6 rabbitmq控制台安装 7 访问你的虚拟机 ip 15627 会出现下面的页面 用户名和密码都是 guest 8
  • nacos集群: code:503 msg: server is STARTING now, please try again later!

    在搭建nacos集群的时候 xff0c 集群启动成功的前提下 启动项目报如下错误 xff1a 解决方法 xff1a 1 cd 你nacos的bin目录 2 vim startup sh 3 在 JAVA OPT 61 34 JAVA OPT
  • yum安装rabbitmq的目录

    一般我们yum安装完rabbitmq后 xff0c 不知道安装到什么地方了 xff0c 其实是安装到下面的路径 usr lib rabbitmq lib 如下图所示 xff1a
  • Linux环境安装Redis

    下载地址 xff1a http download redis io releases 安装步骤 xff1a 1 安装gcc yum install gcc 2 把下载好的redis 4 0 14 tar gz xff08 选择你自己的版本
  • Redis主从环境搭建

    首先先搭建一个Redis xff1a 搭建方法 xff1a Linux环境安装redis 1 新建一个目录 xff0c 按照上述链接中的方法再次搭建一个redis 2 搭建完后 xff0c 修改从节点的redis conf文件 2 1 修改
  • Redis集群环境搭建

    一 下载redis xff08 此处我下载的是5 0 3版本 xff09 下载地址 xff1a http download redis io releases Linux命令下载 xff1a wget http download redis
  • Jvisualvm使用及添加Visual GC组件

    只要装了jdk xff0c 就会自带这个工具 xff0c 路径位置如下 xff1a JVisualvm添加Visual GC插件 动态观察各个年代GC情况 访问地址 xff1a https visualvm github io plugin
  • Spring源码编译Java: 找不到符号 InstrumentationSavingAgent

    报错如下 xff1a 解决 xff1a 将spring context gradle文件的 下面这一行 br optional project 34 spring instrument 34 br 修改为 br compile projec
  • RabbitMQ学习(六)——消息确认机制(Confirm模式)

    在上一篇文章中我们讲解了RabbitMQ中的AMQP事务来保证消息发送到Broker端 xff0c 同时我们可以在事务之间发送多条消息 xff08 即在channel txSelect 和channel txCommit 之间发送多条消息
  • zookeeper初识

    一 节点类型 persistent 持久节点 persistent sequential 持久序号节点 ephemeral 临时节点 ephemeral sequential 临时序号节点 1 persistent 持久节点 默认创建的节点