zookeeper常用命令

zookeeper常用命令

  • 1. 下载安装
  • 2. 配置说明
    • 2.1 配置
  • 3. zookeeper的常见命令
    • 3.1 server端启动停止等命令
    • 3.2 客户端连接等命令
    • 3.3 客户端简单常用命令
      • 3.3.1 查看目录(查看数据结构)
      • 3.3.2 删除目录
      • 3.3.3 创建目录
      • 3.3.4 创建目录并写入值 + 查看节点值
      • 3.3.5 设置节点值
      • 3.3.6 查询节点
        • 3.3.6.1 普通查询
          • 3.3.6.1.1 普通简单查询
          • 3.3.6.1.2 普通递归查询
        • 3.3.6.2 查询节点的详细信息
        • 3.3.6.3 查询节点的详细信息2
      • 3.3.7 创建持久序号节点
      • 3.3.8 创建临时节点
    • 3.4 权限设置——创建权限节点
      • 3.4.1 步骤
      • 3.4.2 解释
  • 4. zookeeper 内部的数据模型
    • 4.1 数据结构模型图
  • 5.

1. 下载安装

  • 可以参考下面的文章:
    zookeeper安装与使用(win+linux).

2. 配置说明

2.1 配置

  • 如下:
    # The number of milliseconds of each tick
    # zookeeper时间配置中的基本单位(毫秒)
    tickTime=2000# The number of ticks that the initial 
    # synchronization phase can take
    # 允许 follower 初始化连接到 leader 最大时长,它表示tickTime时间倍数,即:initLimit * tickTime
    initLimit=10# The number of ticks that can pass between 
    # sending a request and getting an acknowledgement
    # 允许 follower 与 leader 数据同步最大时长,它表示tickTime时间倍数
    syncLimit=5# the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just 
    # example sakes.
    # zookeeper 数据存储目录及日志保存目录(如果没有指明dataLogDir,则日志也保存到这个文件夹中)
    # dataDir=/tmp/zookeeper
    dataDir=/home/susu/soft/softWare/zk/apache-zookeeper-3.5.9-bin/dataDir# the port at which the clients will connect
    # 对客户端提供的端口号
    clientPort=2181# the maximum number of client connections.
    # increase this if you need to handle more clients
    # 单个客户端与zookeeper最大并发连接数
    # maxClientCnxns=60# Be sure to read the maintenance section of the 
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    # 保存数据快照数量,之外的将会被清除
    # autopurge.snapRetainCount=3# Purge task interval in hours
    # Set to "0" to disable auto purge feature
    # 自动触发清除时间间隔,单位为小时。默认为0,表示不自动清除
    # autopurge.purgeInterval=1
    

3. zookeeper的常见命令

3.1 server端启动停止等命令

  1. 启动

    • 不指定配置文件启动
      ./zkServer.sh start     #进入bin目录下,直接执行此命令
      
    • 指定配置文件启动
      ./zkServer.sh start ../conf/zoo.cfg
      
  2. 停止

    ./zkServer.sh stop   # 不指定文件
    ./zkServer.sh stop ../conf/zoo.cfg   # 指定文件
    
  3. 查看zk服务器的状态

    ./zkServer.sh status
    

    在这里插入图片描述

3.2 客户端连接等命令

  1. 启动server之后,连接客户端,连接客户端命令
    ./zkCli.sh./zkCli.sh -server 127.0.0.1:2181
    
  2. 退出客户端命令:
    quit   # 注意:不加分号
    

3.3 客户端简单常用命令

3.3.1 查看目录(查看数据结构)

  • 如下:
    ls /
    
    在这里插入图片描述

3.3.2 删除目录

  • 删除目录
    delete /aa       # 下面没有子节点的,可以直接用 delete
    deleteall /手机   # 下面有子节点的,用 deleteall
    
    在这里插入图片描述

3.3.3 创建目录

  1. 直接创建目录
    create /狗狗
    create /狗狗/边牧
    create /狗狗/边牧/麦兜
    
    在这里插入图片描述

3.3.4 创建目录并写入值 + 查看节点值

  • 如下:
    create /骆驼 园区2号
    get /骆驼
    
    在这里插入图片描述

3.3.5 设置节点值

  • 如下:
    set /猩猩 园外区-1号
    
    在这里插入图片描述

3.3.6 查询节点

3.3.6.1 普通查询

3.3.6.1.1 普通简单查询
  • 如下:
    get /骆驼    # 查询节点值
    ls /狗狗/边牧   # 查询其下的子节点
    
3.3.6.1.2 普通递归查询
  • 如下:
    ls -R /
    
    在这里插入图片描述

3.3.6.2 查询节点的详细信息

  • 查询含节点值的详细信息,如下:
    get -s /猩猩
    
    在这里插入图片描述
  • 解释:
    • 第一行显示:该节点的值
    • cZxid:创建节点的事务ID
    • ctime:创建节点的时间
    • mZxid:修改节点的事务ID
    • mtime:修改节点的时间(最近修改时间)
    • pZxid:添加和删除子节点的事务ID
    • cversion:cversion是指节点的子节点版本号,也就是说当一个节点的子节点发生变化时,cversion会自增。(即:每新增或删除一个子节点时,版本➕1)
    • dataVersion:dataVersion是指节点数据的版本号,当一个节点的数据发生变化时,dataVersion会自增。每更新一次数据(set一次即更新节点值),版本会➕1
    • aclVersion:此节点的权限版本
    • ephemeralOwner:如果当前节点是临时节点,该值是当前节点所有者的session id。如果节点不是临时节点,则值为零。
    • dataLength:节点内数据的长度(节点值)
    • numChildren:该节点的子节点个数

3.3.6.3 查询节点的详细信息2

  • 查询含子节点的,可以直接ls ,如下:
    ls -s /猩猩
    
    在这里插入图片描述

3.3.7 创建持久序号节点

  • 加选项 -s ,如下:
     create -s /bb/bb1
    
    在这里插入图片描述

3.3.8 创建临时节点

  • 什么是临时节点?
    临时节点是在会话结束后,自动被删除的,通过这个特性,zk可以实现服务注册与发现的效果。
  • 临时节点和普通节点的不同?临时节点如何维持心跳呢?
    • 在Zookeeper中,临时节点和持久节点是两种不同的节点类型。
    • 持久节点一旦创建,除非主动调用删除操作,否则会一直存储在Zookeeper上。
    • 而临时节点是与客户端会话绑定的,一旦客户端会话失效,这个客户端所创建的所有临时节点都会被移除。
    • 临时节点的特点是它们的生命周期与客户端会话相关,当客户端会话结束时,临时节点会被自动删除。而持久节点则会一直存在,直到被显式删除。
    • 看下面结构图理解临时节点和持久节点:
      在这里插入图片描述
      在这里插入图片描述
  • 创建临时节点的命令,如下:
    create -e /cc     # 临时节点
    create -e -s /dd   # 临时序号节点
    
    在这里插入图片描述
    在这里插入图片描述

3.4 权限设置——创建权限节点

3.4.1 步骤

  • 首先,使用 addauth digest 命令给当前会话添加一个认证用户,如下:
    addauth digest maidou    # 不带密码addauth digest beita:123456  # 带密码
    
    在这里插入图片描述
    在这里插入图片描述

3.4.2 解释

  • 在ZooKeeper中,创建节点权限的命令可以使用以下命令:
    create \[-s\] \[-e\] path data acl
    
    其中,path是要创建的节点路径,data是节点的数据,acl是节点的权限设置。权限设置可以使用以下格式:
    scheme:id:permission
    
    其中,scheme是权限方案,id是授权的对象,permission是授予的权限。常用的权限包括:
    • c:创建权限,可以在当前节点下创建子节点
    • r:读权限,可以读取节点的内容及子节点
    • w:写权限,可以向节点写入数据
    • d:删除权限,可以删除节点的子节点
    • a:管理权限,可以设置节点的权限
  • 所以,创建节点权限的命令可以使用类似以下格式:
    create /path data scheme:id:permission
    

4. zookeeper 内部的数据模型

4.1 数据结构模型图

  • 如下:
    在这里插入图片描述
  • 解释
    • zookeeper 中的数据是保存在节点上的,节点就是znode,多个znode之间构成一颗树的目录结构。zookeeper 的数据模型是什么样子的呢?它很像数据结构当中的树,也很像文件系统的目录。
    • 树是由节点组成,zookeeper 的数据存储也同样是基于节点,这种节点叫做znode。但是不同于树的节点,znode的引用方式是路径引用,类似于文件路径,如下:
    • 这样的层级结构,让每一个znode节点拥有唯一的路径,就像命名空间一样,对不同信息做出清晰的隔离。

5.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/36265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache JMeter:完全指南

Apache JMeter 是一款开源的性能测试工具,可以用于测试 Web 应用程序、FTP 服务器、数据库等各种类型的服务器。本文将以 JMeter 5.5 为例介绍 JMeter 的使用方法。 下载和安装 由于 JMeter 是使用 Java 开发的,因此在运行之前必须先安装 JDK。您可以在…

Android中tools属性的使用

参考: 1.Android:Tools命名空间原来是有大用处的 2.Android中tools属性的使用 3.工具属性参考文档 4. 命名空间介绍 5. 注解 6. lint 7. 资源压缩shrink-resources 目录 一、概述二、引入tools命名空间三、tools 命名空间的作用有哪些?四、tools 命名空间…

年薪6.5万美元|生物医学老师获美国耶鲁大学博士后职位

I老师就职于双非二本院校,希望通过出国研修以提升科研背景,在公派访学和申请导师出资的博士后之间,其选择了后者。最终我们落实了美国耶鲁大学的职位,头衔为Associate Research Scientist(副研究科学家)&am…

Selenium 自动化 | 案例实战篇

Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器(如 Chrome、Opera 和 Microsoft Edge)中的工具,用于帮助开发人员调试和研究网站。 借助 Chrome DevTools,开发人员可以更深入地访问网站&#xf…

Observability:识别生成式 AI 搜索体验中的慢速查询

作者:Philipp Kahr Elasticsearch Service 用户的重要注意事项:目前,本文中描述的 Kibana 设置更改仅限于 Cloud 控制台,如果没有我们支持团队的手动干预,则无法进行配置。 我们的工程团队正在努力消除对这些设置的限制…

SpringBoot 整合MyBatis

整合MyBatis 官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/ Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.3 整合测试 导入 MyBatis 所需要的…

数据结构笔记--优先队列(大小根堆)经典题型

1--项目的最大利润 题目描述: 输入:正数数组 costs,costs[i] 表示项目 i 的花费;正数数组 profits,profits[i] 表示项目 i 的花费;正数 k 表示只能串行完成最多 k 个项目;m 表示拥有的资金&…

leetcode 516. 最长回文子序列(JAVA)题解

题目链接https://leetcode.cn/problems/longest-palindromic-subsequence/description/?utm_sourceLCUS&utm_mediumip_redirect&utm_campaigntransfer2china 目录 题目描述: 暴力递归: 动态规划: 题目描述: 给你一个…

百日筑基篇——python爬虫学习(一)

百日筑基篇——python爬虫学习(一) 文章目录 前言一、python爬虫介绍二、URL管理器三、所需基础模块的介绍1. requests2. BeautifulSoup1. HTML介绍2. 网页解析器 四、实操1. 代码展示2. 代码解释1. 将大文件划分为小的文件(根据AA的ID数量划…

简单认识Zabbix监控系统及配置

文章目录 一、zabbix概述1、定义2、zabbix监控原理3、监控对象4、zabbix的3种架构(1) C/S架构(2)分布式架构:zabbix-proxy-client架构(3) master-node-client架构 5、zabbix监控模式 二、部署za…

项目实战 — 消息队列(8){网络通信设计①}

目录 一、自定义应用层协议 🍅 1、格式定义 🍅 2、准备工作 🎄定义请求和响应 🎄 定义BasicArguments 🎄 定义BasicReturns 🍅 2、创建参数类 🎄 交换机 🎄 队列 &#x1f38…

【网络】传输层——TCP(滑动窗口流量控制拥塞控制延迟应答捎带应答)

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 上篇文章对TCP可靠性机制讲解了一部分,这篇文章接着继续讲解。 🎨滑动窗口 在…

Springboot 实践(2)MyEclipse2019创建项目修改pom文件,加载springboot 及swagger-ui jar包

MyEclipse2019创建工程之后,需要添加Springboot启动函数、添加application.yml配置文件、修改pom文件添加项目使用的jar包。 添加Springboot启动函数 创建文件存储路径 (1)右键单击“src/main/java”文件夹,弹出对话框输入路径…

05 - 研究 .git 目录

查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 1. HEAD2. config3. refs4. objects 1. HEAD 2. config 3. refs 4. objects Git对象一共有三种:数据对象 blob、树对象 tree以及提交对象 commit,这些对象都被保…

深入探析设计模式:工厂模式的三种姿态

深入探析设计模式:工厂模式的三种姿态 1. 简单工厂模式1.1 概念1.2 案例1.3 优缺点 2. 抽象工厂模式2.1 概念2.2 案例:跨品牌手机生产2.3 优缺点 3. 超级工厂模式3.1 概念3.2 案例:动物园游览3.3 优缺点 4. 总结 欢迎阅读本文,今天…

go入门实践四-go实现一个简单的tcp-socks5代理服务

文章目录 前言socks协议简介go实现一个简单的socks5代理运行与压测抓包验证 前言 SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。协议在应用层和传输层之间。 本文使用先了解socks协议。然后实现一个socks5的tcp代理服务端。最后&#…

21款美规奔驰GLS450更换中规高配主机,汉化操作更简单

很多平行进口的奔驰GLS都有这么一个问题,原车的地图在国内定位不了,语音交互功能也识别不了中文,原厂记录仪也减少了,使用起来也是很不方便的。 可以实现以下功能: ①中国地图 ②语音小助手(你好&#xf…

运维监控学习笔记8

在服务器端,我们添加了nginx-server的主机: 在解决Error问题的过程中,我还通过zabbix_get这个命令进行了测试,发现是没有的,后来确认是在web页面配置的过程中,我输错了密码。 yum install zabbix-getzabbi…

uniapp-原生地图截屏返回base64-进行画板编辑功能

一、场景 vue写uniapp打包安卓包,实现原生地图截屏(andirod同事做的)-画板编辑功能 实现效果: 二、逻辑步骤简略 1. 由 原生地图nvue部分,回调返回 地图截屏生成的base64 数据, 2. 通过 uni插件市场 im…

《图解HTTP》——HTTP协议详解

一、HTTP协议概述 HTTP是一个属于应用层的面向对象协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP…