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.pswp.cn/news/36265.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36265.shtml
英文地址,請注明出處:http://en.pswp.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 控制臺,如果沒有我們支持團隊的手動干預,則無法進行配置。 我們的工程團隊正在努力消除對這些設置的限制…

uniapp動態底部tab欄

實現思路: 創建一個js文件用來存放所有的tabbar,不同的數組表示不同的tabbar組合。 創建一個vue文件用來制作底部tabbar組件。 使用vuex存儲用戶的身份信息,根據身份信息切換tabbar組合。 具體步驟: 新建一個tabbar.js文件,將…

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 表示擁有的資金&…

MySQL事務:確保數據完整性與并發性的關鍵

MySQL事務:確保數據完整性與并發性的關鍵 MySQL作為一種廣泛使用的開源關系型數據庫管理系統,具備強大的事務支持,以確保數據庫操作的一致性、隔離性和持久性。本文將深入探討MySQL中的事務概念、事務隔離級別以及事務的應用場景&#xff0c…

leetcode 516. 最長回文子序列(JAVA)題解

題目鏈接https://leetcode.cn/problems/longest-palindromic-subsequence/description/?utm_sourceLCUS&utm_mediumip_redirect&utm_campaigntransfer2china 目錄 題目描述: 暴力遞歸: 動態規劃: 題目描述: 給你一個…

Python學習過程筆記:主模塊(main) 異常處理 命令行參數解析 日志記錄 socket模塊 類的私有方法 字節字符串

文章目錄 1.Python中的主程序2.Python中的異常處理3.Python中的命令行參數解析4.Python中的日志記錄5.網絡編程socket模塊6.Python中的私有方法7.Python中的字節字符串 1.Python中的主程序 if __name__ __main__在Python中,if __name__ __main__ 是一個常見的代碼…

百日筑基篇——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”文件夾,彈出對話框輸入路徑…

Android 簡單的視頻、圖片壓縮工具

首頁需要壓縮的工具包 1.Gradle implementation com.iceteck.silicompressorr:silicompressor:2.2.3 2.添加相關權限&#xff08;手機得動態申請權限&#xff09; <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE"/> <uses-p…

05 - 研究 .git 目錄

查看所有文章鏈接&#xff1a;&#xff08;更新中&#xff09;GIT常用場景- 目錄 文章目錄 1. HEAD2. config3. refs4. objects 1. HEAD 2. config 3. refs 4. objects Git對象一共有三種&#xff1a;數據對象 blob、樹對象 tree以及提交對象 commit&#xff0c;這些對象都被保…

Vue 目錄結構 vite 項目

Vue3 項目常用的目錄結構和每個文件的作用【通過 vite 創建的項目】 vite目錄結構&#xff1a; dist // 打包后生成的文件目錄 node_modules // 環境依賴 public // 公共資源目錄 favicon.ico …

深入探析設計模式:工廠模式的三種姿態

深入探析設計模式&#xff1a;工廠模式的三種姿態 1. 簡單工廠模式1.1 概念1.2 案例1.3 優缺點 2. 抽象工廠模式2.1 概念2.2 案例&#xff1a;跨品牌手機生產2.3 優缺點 3. 超級工廠模式3.1 概念3.2 案例&#xff1a;動物園游覽3.3 優缺點 4. 總結 歡迎閱讀本文&#xff0c;今天…