zookeeper常见命令详解2

1、version 展示客户端版本

[zkshell: 1] version
ZooKeeper CLI version: 3.6.0-SNAPSHOT-29f9b2c1c0e832081f94d59a6b88709c5f1bb3ca, built on 05/30/2019 09:26 GMT

2、whoami 展示出所有已经添加(addauth)用户的信息

[zkshell: 1] whoami
Auth scheme: User
ip: 127.0.0.1
[zkshell: 2] addauth digest user1:12345
[zkshell: 3] whoami
Auth scheme: User
ip: 127.0.0.1
digest: user1

3、set [-s] [-v version] path data 设置或者更新节点的数据

[zkshell: 50] set /brokers myNewData
  • set -s 设置值的同时并展示znode状态
[zkshell: 51] set -s /quota_test mydata_for_quota_testcZxid = 0x110000002dctime = Thu Mar 07 11:19:07 UTC 2019mZxid = 0x1100000038mtime = Thu Mar 07 11:42:41 UTC 2019pZxid = 0x1100000033cversion = 3dataVersion = 2aclVersion = 0ephemeralOwner = 0x0dataLength = 21numChildren = 3
  • -v 设置dataVersion的版本号,如果传入的dataVersion与当前版本号不一致时,zookeeper会拒绝设置值。
[zkshell: 52] set -v 0 /brokers myNewData
[zkshell: 53] set -v 0 /brokers myNewDataversion No is not valid : /brokers

4、close 关闭客户端/session

[zkshell: 0] close2019-03-09 06:42:22,178 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@528] - EventThread shut down for session: 0x10007ab7c5500062019-03-09 06:42:22,179 [myid:] - INFO  [main:ZooKeeper@1346] - Session: 0x10007ab7c550006 closed

5、config 展示集群节点配置

[zkshell: 17] configserver.1=[2001:db8:1:0:0:242:ac11:2]:2888:3888:participantserver.2=[2001:db8:1:0:0:242:ac11:2]:12888:13888:participantserver.3=[2001:db8:1:0:0:242:ac11:2]:22888:23888:participantversion=0

6、connect host:port 连接服务器

[zkshell: 4] connect2019-03-09 06:43:33,179 [myid:localhost:2181] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@986] - Socket connection established, initiating session, client: /127.0.0.1:35144, server: localhost/127.0.0.1:21812019-03-09 06:43:33,189 [myid:localhost:2181] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1421] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x10007ab7c550007, negotiated timeout = 30000connect "localhost:2181,localhost:2182,localhost:2183"# connect a remote server
[zkshell: 5] connect remoteIP:2181

7、removewatches 移除节点的watch

[zkshell: 1] get -w /brokersnull
[zkshell: 2] removewatches /brokersWATCHER::WatchedEvent state:SyncConnected type:DataWatchRemoved path:/brokers

8、history 展示最近已经执行过的11个命令

[zkshell: 7] history0 - close1 - close2 - ls /3 - ls /4 - connect5 - ls /6 - ll7 - history

9、redo 使用数字index 重新执行已经执行过的命令

[zkshell: 4] history0 - ls /1 - get /consumers2 - get /hbase3 - ls  /hbase4 - history
[zkshell: 5] redo 3[backup-masters, draining, flush-table-proc, hbaseid, master-maintenance, meta-region-server, namespace, online-snapshot, replication, rs, running, splitWAL, switch, table, table-lock]

10、sync path 在leader和followers 同步节点数据(异步同步 Asynchronous sync)

[zkshell: 14] sync /
[zkshell: 15] Sync is OK

11、quota 份额

  • 一个节点的quota份额被存储在 /zookeeper/quota 节点下;
  • 用户不能对/zookeeper/quota节点下的节点设置quota;包括/zookeeper/quota节点本身;
  • quota 支持软(soft)quota 和硬(hard)quota,当超出设定的值时,软quota依旧可以创建成功,但是会告警,硬quota不会设置成功,会抛出QuotaExceededException异常;
  • 一个节点的quota属性如下:
[zk: localhost:2181(CONNECTED) 6] listquota /test1
absolute path is /zookeeper/quota/test1/zookeeper_limits
quota for /test1 does not exist.
[zk: localhost:2181(CONNECTED) 8] setquota -n 4 /test1
[zk: localhost:2181(CONNECTED) 9] listquota /test1
absolute path is /zookeeper/quota/test1/zookeeper_limits
Output quota for /test1 count=4,bytes=-1=;byteHardLimit=-1;countHardLimit=-1
Output stat for /test1 count=1,bytes=0
[zk: localhost:2181(CONNECTED) 10]
  • 当同时设置软quota和硬quota的时候,硬quota优先性高;
  • 当对一个节点设置quota的时候,如果它的父节点或者子节点已经被设置了quota,则该节点无法设置成功;
[zk: localhost:2181(CONNECTED) 36] setquota -N 3 /test2/li
/test2/li has a parent /test2 which has a quota
  • 在3.7.0版本以及之后的版本中新增该配置检查,启用方式需要在配置文件中新增:
enforceQuota=true
  • 当设置节点数量的时候,节点数量会包括自身,即不能设置为0;
[zk: localhost:2181(CONNECTED) 50] setquota -N 0 /test5
the num quota must be greater than zero
[zk: localhost:2181(CONNECTED) 51]

(1) setquota -n|-b|-N|-B val path 设置份额

  • setquota -n count /path/node 软设置该节点子节点的数量(直属子节点),如果该设置存在,则会更新该设置,该节点必须存在才能设置;这种限制是软限制,如果超出数量,只会警告但是并不会报错;
[zk: localhost:2181(CONNECTED) 4] ls -R /
/
/test1
/zookeeper
/zookeeper/config
/zookeeper/quota
[zk: localhost:2181(CONNECTED) 5] setquota -n 2 /test2
/test2 does not exist.
[zk: localhost:2181(CONNECTED) 6]
[zkshell: 18] setquota -n 2 /quota_test
[zkshell: 19] create /quota_test/child_1Created /quota_test/child_1
[zkshell: 20] create /quota_test/child_2Created /quota_test/child_2
[zkshell: 21] create /quota_test/child_3Created /quota_test/child_3
# Notice:don't have a hard constraint,just log the warning info2019-03-07 11:22:36,680 [myid:1] - WARN  [SyncThread:0:DataTree@374] - Quota exceeded: /quota_test count=3 limit=22019-03-07 11:22:41,861 [myid:1] - WARN  [SyncThread:0:DataTree@374] - Quota exceeded: /quota_test count=4 limit=2
  • setquota -b bytes /path/node 软设置该节点数据的长度,如果该设置存在,则会更新该设置,该节点必须存在才能设置;这种限制是软限制,如果超出长度,只会警告但是并不会报错;
# -b to limit the bytes(data length) of one path
[zkshell: 22] setquota -b 5 /brokers
[zkshell: 23] set /brokers "I_love_zookeeper"
# Notice:don't have a hard constraint,just log the warning infoWARN  [CommitProcWorkThread-7:DataTree@379] - Quota exceeded: /brokers bytes=4206 limit=5
  • setquota -N count /path/node 硬设置该节点子节点的数量,如果该设置存在,则会更新该设置,该节点必须存在才能设置;这种限制是硬限制,如果超出数量,会抛出异常;
[zk: localhost:2181(CONNECTED) 45] setquota -N 3 /test4
[zk: localhost:2181(CONNECTED) 46] create /test4/li
Created /test4/li
[zk: localhost:2181(CONNECTED) 47] create /test4/l2
Created /test4/l2
[zk: localhost:2181(CONNECTED) 48] create /test4/l3
Quota has exceeded : /test4/l3
[zk: localhost:2181(CONNECTED) 49]
  • setquota -B bytes /path/node 硬设置该节点数据的长度,如果该设置存在,则会更新该设置,该节点必须存在才能设置;这种限制是硬限制,如果超出长度,会抛出异常;

(2) listquota path 列出quota信息

zk: localhost:2181(CONNECTED) 51] listquota /test4
absolute path is /zookeeper/quota/test4/zookeeper_limits
Output quota for /test4 count=-1,bytes=-1=;byteHardLimit=-1;countHardLimit=3
Output stat for /test4 count=3,bytes=0
[zk: localhost:2181(CONNECTED) 52]

(3)delquota [-n|-b|-N|-B] path 删除quota

[zkshell: 1] delquota /quota_test
[zkshell: 2] listquota /quota_testabsolute path is /zookeeper/quota/quota_test/zookeeper_limitsquota for /quota_test does not exist.
[zkshell: 3] delquota -n /c1
[zkshell: 4] delquota -N /c2
[zkshell: 5] delquota -b /c3
[zkshell: 6] delquota -B /c4

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

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

相关文章

JAVA面试大全之集合IO篇

目录 1、集合 1.1、Collection 1.1.1、集合有哪些类? 1.1.2、ArrayList的底层?

算法系列--动态规划--特殊的状态表示--分析重复子问题

💕"轻舟已过万重山!"💕 作者:Lvzi 文章主要内容:算法系列–算法系列–动态规划–特殊的状态表示–分析重复子问题 大家好,今天为大家带来的是算法系列--动态规划--特殊的状态表示--分析重复子问题 一.组合总数IV 链接…

蓝桥集训之游戏

蓝桥集训之游戏 核心思想:博弈论 区间dp 设玩家1的最优解为A 玩家2的最优解为B 1的目标就是使A-B最大 2的目标就是使B-A最大 当玩家1取L左端点时 右边子区间结果就是玩家2的最优解B-A 即当前结果为w[L] – (B-A) 当玩家1取R右端点时 左边子区间结果就是玩家2的最…

Mybatis-特殊SQL的执行

1. 模糊查询 在MyBatis中进行模糊查询时,有以下三种常见的实现方式: 1.1. 错误示范 先来个准备操作,并做一个错误示例 根据姓名,模糊查询用户,(x小x) 更新数据表 SQLMapper.java package com.sakurapaid.mybatis3…

力扣top100-两数之和

思路: 用 hashMap 存储遍历过的元素和对应的索引。 每遍历一个元素,看看 hashMap 中是否存在满足要求的目标数字。 所有事情在一次遍历中完成(用了空间换取时间)。 // twoSum 函数接受一个整数数组 nums 和一个目标值 target&am…

Win10 搭建FTP存储服务器站点【超详细教程】

目录 第一步:打开控制面板>程序 第二步:win10左下角搜索IIS并打开 第三步:右键网站,选择添加FTP站点 第四步:添加FTP站点名称 第五步:添加IP地址和端口 第六步:身份验证与授权信息 第…

Next.js 客户端组件跨页面跳转时锚点不生效,scrollIntoView 不起作用

项目场景 点击页脚“联系我们”链接&#xff0c;跳转到对应页面的“联系我们”模块。 问题描述 在页脚处“联系我们”代码如下&#xff1a; <a href"/about_us#contactUs">联系我们</a>在“联系我们”的组件中写以下代码&#xff1a; export default…

浅谈Spring体系的理解

浅谈Spring知识体系 Spring Framework架构图Spring家族技术生态全景图XMind汇总 本文不涉及细节&#xff0c;主要回答两个问题&#xff1a; Spring家族技术生态全景图有哪些Spring Framework架构下每个模块有哪些东西&#xff0c;以及部分模块之间的关联关系 Spring Framework架…

爬虫工作量由小到大的思维转变---<第六十五章 > Scrapy去重机制:BaseDupeFilter与request_fingerprint研究

前言&#xff1a; 一下子讲了bloom过滤器&#xff1a;爬虫工作量由小到大的思维转变---&#xff1c;第六十四章 &#xff1e; Scrapy利用Bloom过滤器增强爬虫的页面去重效率-CSDN博客 在网络爬虫的设计中&#xff0c;请求去重是一个至关重要的环节&#xff0c;它直接关系到爬虫…

C语言操作符详细讲解

前言 本次博客一定会让刚刚学习C语言小白有所收获 本次操作符讲解不仅分类还会有代码示例 好好看 好好学 花上几分钟就可以避免许多坑 1 操作符的基本使用 1.1操作符的分类 按功能分 算术操作符&#xff1a; 、- 、* 、/ 、% 移位操作符: >> << 位操作符…

华为OD机试 - 芯片资源限制(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

【数据分享】1981-2023年全国各城市逐日、逐月、逐年最高气温(shp格式)

气象数据是我们在各种研究中都会使用到的基础数据&#xff0c;之前我们分享了Excel格式的1981-2023年全国各城市的逐日、逐月、逐年最高气温数据。 好多小伙伴拿到数据后问我们有没有GIS矢量格式的该数据&#xff0c;我们专门对数据进行了处理&#xff0c;转换为了GIS矢量格式…

【git】git使用手册

目录 一 初始化 1.1 账号配置 1.2 ssh生成 1.2.1 配置ssh 1.2.2 测试SSH 1.3 初始化本地仓库并关联远程仓库 二 使用 2.1 上传 2.2 拉取 三 问题 3.1 关联失败 一 初始化 git的安装很简单,下载后大部分进行下一步完成即可----->地址: git工具下载 1.1 账号配置…

星光/宝骏/缤果/长安 车机CarPlay盒子权限破解原理普及----小白版本

来看一下我提供的 usb_device_manager.xml 文件内容 <?xml version1.0 encodingutf-8 standaloneyes ?> <settings><preference package"cn.manstep.phonemirrorBox" user"0"><usb-device vendor-id"4884" product-id&q…

文件系统 FTP Ubuntu 安装入门介绍

FTP 环境: Ubuntu 14.04 blog zh_CN ubuntu14.04 Install 全新安装&#xff1a;apt-get install vsftpd 重新安装:apt-get --reinstall install vsftpd 卸载并清除配置文件&#xff1a;apt-get --purge remove vsftpd Start & Restart $ service vsftpd start $ se…

金额转换.java

题目&#xff1a; 奖金额转换成大写的七位数 分析&#xff1a;获取每一位数字&#xff0c;将数字转为大写的&#xff0c;数字前面添零&#xff0c;补成七位数&#xff0c;最后依次拼接单位 package text; import java.util.Scanner; public class MoneySwitch {public static v…

Qt/QML编程之路:QPainter与OpenGL的共用(49)

在Qt编程中,有时会有这样一种场景:用OpenGL显示了一个3维立体图,但是想在右下角画一个2D的表格,里面写上几个字。那么这个时候就会出现QPainter与OpenGL共用或者说2D、3D共用。但是问题是调用了QPainter,drawline之后呢,OPenGL的状态被清空了丢失了,3D不显示了。 在Ope…

【软考高项范文】论信息系统项目的采购管理

试题二:论信息系统项目的采购管理 项目采购管理是从项目团队外部购买或获得为完成项目工作所需的产品、服务或成果的过程。 请以“论信息系统项目的采购管理”为题进行论述: 1.概要叙述你参与管理过的信息系统项目(项目的背景、项目规模、发起单位、目的、项目内容、组织结构…

算法学习——LeetCode力扣动态规划篇5(198. 打家劫舍、213. 打家劫舍 II、337. 打家劫舍 III )

算法学习——LeetCode力扣动态规划篇5 198. 打家劫舍 198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09; 描述 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统…

Python学习之多线程、多进程

前言: 在了解本章之前&#xff0c;我们先来了解下什么是线程和进程: 在计算机科学中&#xff0c;进程和线程是执行程序的基本单元&#xff0c;它们在操作系统的管理下运作&#xff0c;但它们之间有着本质的区别。理解进程和线程的概念对于进行有效的程序设计和系统管理非常重要…