導航:首頁 > 程序命令 > zookeeper的啟動命令

zookeeper的啟動命令

發布時間:2024-07-07 16:58:39

A. linux如何查看zookeeper是否啟動

1、首先需要登陸你的linux伺服器,用cd 命令切換到/etc/rc.d/init.d/目錄下。

B. 【Zookeeper系列】ZK命令基本使用

在了解 ZK 底層原理之前,咱們先簡單了解常用的 ZK 命令,熟悉常用 ZK 命令有利於排查相關問題或了解基於 ZK 自研系統等場景。比如在開發的時候,發現有些Dubbo服務無法被調用,這有可能是服務沒有注冊到ZK或者斷開連接;也有可能公司有自研的系統使用 ZK 作為配置中心,熟悉 ZK 命令就能知道是如何做到服務發現注冊和配置動態更新。

話不多說,咱們先來了解常見的 ZK 命令吧!

實際上,ZK並沒有help命令,你可以隨意敲一兩個字元也會這樣顯示,只不過基於使用Linux的習慣,姑且認為輸入help能列印出ZK支持的命令吧。

ls 命令可以查看指定目錄下的節點,使用可選的參數,能夠更加詳細的看到節點的相關信息

stat / 等價於 ls -s /

和 ls 命令相似的,加上-w參數添加監聽

在ZK 3.5版本之後,新增了容器和TTL節點,分別是使用 -c 和 -t 創建。所以讀者們要注意你當前使用的版本,如果版本低於3.5的,是沒有容器和TTL節點。

特別說明一下容器節點和TTL節點的使用:

另外關於 TTL節點 的使用,需要特別注意的是,如果使用默認的配置文件啟動zk,想創建有存活時間的節點,比如執行 create -t 10 /test 是會報 KeeperErrorCode = Unimplemented for XXX 這樣的錯誤。解決辦法是需要在ZK啟動前,先在配置文件加上 extendedTypesEnabled=true 然後重啟ZK(集群部署的話,所有ZK都需要修改配置文件再重啟)

配置後重啟,執行 create -t 10 /test 這樣的命令就不會報錯啦

例子:get -s /demo

例子:先查詢節點版本號,模擬並發下修改同一節點

get -s /demo 可知當前 dataVersion = 1

客戶端1:set -v 1 /demo demo-data1

客戶端2:set -v 1 /demo demo-data2

客戶端1比客戶端2先執行,客戶端2再執行的話,這時顯示報錯

-v version:和 set 命令相似,-v 參數用於判斷當前操作的版本

例子:先創建一個delNode節點,然後刪除

在前面使用create命令的時候,有一個acl參數是設置節點許可權的,那麼我們應該怎麼設置?

舉個例子: create /testAcl demo world:anyone:crwda

這行命令的意思是,創建 testAcl 這個節點,節點值為demo,其許可權策略是所有人都可以執行 crwda 操作。那麼接下來,咱們先看下 ACL 是什麼東東?

ACL 全稱是 Access Control List ,也就是訪問控制列表,ACL可以設置節點的操作許可權。那麼控制許可權的粒度是怎樣呢?

對於節點 ACL 許可權控制,是通過使用: scheme:id:perm 來標識(也就是例子中的格式 -> world:anyone:crwda),其含義是:

Scheme 有哪些授權策略?

ID 授權對象有哪些?

Permission 許可權有哪些?

根據上面的參數可知,我們可以通過給所有人、特定的賬號密碼、特定的 ip 設置節點許可權,這樣能夠更加方面地管理節點的訪問。

值得注意的是,節點可以設置多種授權策略,但對於上下節點而言,許可權的設置只對當前節點有效。換言之,許可權不存在繼承關系,即使節點被設置許可權,但不會影響上下節點原來的許可權!

上面執行了 create /testAcl demo world:anyone:crwda 命令給節點設置許可權,那怎麼看節點的許可權咧?

很簡單,執行 getAcl 節點路徑 就可以查看對應節點的許可權,比如 getAcl /testAcl,執行結果如下

除了在執行create命令創建節點的時候設置許可權,還可以通過 setAcl 指定節點設置許可權,比如我想指定/testAcl這個節點只可以通過特定 IP操作,並且限制執行許可權為crdw,那麼可以執行 setAcl /testAcl ip:127.0.0.1:crwd ,再次執行 getAcl /testAcl 結果如下:

ZK 的命令還有部分沒有演示,這並不阻礙咱們學習ZK的原理,先掌握常見的命令,如果日後有其他場景的話,再根據特定的命令學習就可以啦。

無意中發現有 Zookeeper的客戶端,感興趣的讀者可以玩一下~ 友情提醒,可能在節點數量很多的時候,打開很慢,甚至卡死,所以這個可視化工具可以在自己本地玩玩,不建議應用在生產上哈。這也側面的說明,學會 ZK 命令的重要性(認真臉.jpg)

壓縮後,進入ZooInspector的build目錄,執行 java -jar zookeeper-dev-ZooInspector.jar 就可以啟動工具。

連接上 ZK 後,就可以看到節點的信息和節點的ACL,具體玩法,可以再自己摸索哈~

好了,以上是 ZK 常見命令的基本使用和可視化工具的基本使用。

參考資料:
《從Paxos到Zookeeper分布式一致性原理與實踐》

如果覺得文章不錯的話,麻煩點個贊哈,你的鼓勵就是我的動力!對於文章有哪裡不清楚或者有誤的地方,歡迎在評論區留言~

C. 如何啟動zookeeper-3.3.6

如何啟動zookeeper-3.3.6?

啟動zookeeper-3.3.6的方法:下載安裝配置zookeeper的伺服器環境-創建文件-設置許可權-編輯-重啟即可。

具體步驟:

一、登陸linux伺服器用cd 命令切換到/etc/rc.d/init.d/目錄下。

十、重啟即可。

D. Zookeeper常用命令

ZooKeeper服務命令:

     在准備好相應的配置之後,可以直接通過zkServer.sh 這個腳本進行服務的相關操作

1. 啟動ZK服務:       sh bin/zkServer.sh start

2. 查看ZK服務狀態: sh bin/zkServer.sh status

3. 停止ZK服務:       sh bin/zkServer.sh stop

4. 重啟ZK服務:       sh bin/zkServer.sh restart

zk客戶端命令

ZooKeeper命令行工具類似於Linux的shell環境,不過功能肯定不及shell啦,但是使用它我們可以簡單的對ZooKeeper進行訪問,數據創建,數據修改等操作.  使用 zkCli.sh -server 127.0.0.1:2181 連接到 ZooKeeper 服務,連接成功後,系統會輸出 ZooKeeper 的相關環境以及配置信息。

命令行工具的一些簡單操作如下:

1. 顯示根目錄下、文件: ls / 使用 ls 命令來查看當前 ZooKeeper 中所包含的內容

2. 顯示根目錄下、文件: ls2 / 查看當前節點數據並能看到更新次數等數據

3. 創建文件,並設置初始內容: create /zk "test" 創建一個新的 znode節點「 zk 」以及與它關聯的字元串

4. 獲取文件內容: get /zk 確認 znode 是否包含我們所創建的字元串

5. 修改文件內容: set /zk "zkbak" 對 zk 所關聯的字元串進行設置

6. 刪除文件: delete /zk 將剛才創建的 znode 刪除

7. 退出客戶端: quit

8. 幫助命令: help

9rmr命令

刪除節點命令,此命令與delete命令不同的是delete不可刪除有子節點的節點,但是rmr命令可以刪除,注意路徑為絕對路徑。

如rmr /zookeeper/znode

10 delquota命令

刪除配額,-n為子節點個數,-b為節點數據長度。

如delquota –n 2,請參見listquota和setquota命令。

11printwatches命令

設置和顯示監視狀態,on或者off。

如printwatches on

listquota命令

顯示配額。

如listquota /zookeeper

absolute path is/zookeeper/quota/zookeeper/zookeeper_limits

Output quota for /zookeepercount=2,bytes=-1

解釋:

/zookeeper節點個數限額為2,長度無限額。

setAcl命令

設置節點Acl。

此處重點說一下acl,acl由大部分組成:1為scheme,2為user,3為permission,一般情況下表示為scheme:id:permissions。

其中scheme和id是相關的,下面將scheme和id一起說明。

scheme和id

world : 它下面只有一個id, 叫anyone, world:anyone代表任何人,zookeeper中對所有人有許可權的結點就是屬於world:anyone的

auth : 它不需要id, 只要是通過authentication的user都有許可權(zookeeper支持通過kerberos來進行authencation, 也支持username/password形式的authentication)

digest : 它對應的id為username:BASE64(SHA1(password)),它需要先通過username:password形式的authentication

ip : 它對應的id為客戶機的IP地址,設置的時候可以設置一個ip段,比如ip:192.168.1.0/16, 表示匹配前16個bit的IP段

super : 在這種scheme情況下,對應的id擁有超級許可權,可以做任何事情(cdrwa)

permissions

CREATE (c): 創建許可權,可以在在當前node下創建child node

DELETE (d): 刪除許可權,可以刪除當前的node

READ (r): 讀許可權,可以獲取當前node的數據,可以list當前node所有的child nodes

WRITE (w): 寫許可權,可以向當前node寫數據

ADMIN (a): 管理許可權,可以設置當前node的permission

綜上,一個簡單使用setAcl命令,則可以為:

setAcl /zookeeper/node1 world:anyone:cdrw

getAcl命令

獲取節點Acl。

如getAcl /zookeeper/node1

'world,'anyone

: cdrwa

註:可參見setAcl命令。

sync命令

強制同步。

如sync /zookeeper

由於請求在半數以上的zk server上生效就表示此請求生效,那麼就會有一些zk server上的數據是舊的。sync命令就是強制同步所有的更新操作。

redo命令

再次執行某命令。

如redo 10

其中10為命令ID,需與history配合使用。

addauth命令

節點認證。

如addauth digest username:password,可參見setAcl命令 digest處。

使用方法:

一、通過setAcl設置用戶名和密碼

setAcl pathdigest:username:base64(sha1(password)):crwda

二、認證

addauth digest username:password

delete命令

刪除節點。

如delete /zknode1

setquota命令

設置子節點個數和數據長度配額。

如setquota –n 4 /zookeeper/node 設置/zookeeper/node子節點個數最大為4

setquota –b 100 /zookeeper/node 設置/zookeeper/node節點長度最大為100

ZooKeeper 常用四字命令:

      ZooKeeper 支持某些特定的四字命令字母與其的交互。它們大多是查詢命令,用來獲取 ZooKeeper 服務的當前狀態及相關信息。用戶在客戶端可以通過 telnet 或 nc 向 ZooKeeper 提交相應的命令

1. 可以通過命令:echo stat|nc 127.0.0.1 2181 來查看哪個節點被選擇作為follower或者leader

2. 使用echo ruok|nc 127.0.0.1 2181 測試是否啟動了該Server,若回復imok表示已經啟動。

3. echo mp| nc 127.0.0.1 2181 ,列出未經處理的會話和臨時節點。

4. echo kill | nc 127.0.0.1 2181 ,關掉server

5. echo conf | nc 127.0.0.1 2181 ,輸出相關服務配置的詳細信息。

6. echo cons | nc 127.0.0.1 2181 ,列出所有連接到伺服器的客戶端的完全的連接 / 會話的詳細信息。

7. echo envi |nc 127.0.0.1 2181 ,輸出關於服務環境的詳細信息(區別於 conf 命令)。

8. echo reqs | nc 127.0.0.1 2181 ,列出未經處理的請求。

9. echo wchs | nc 127.0.0.1 2181 ,列出伺服器 watch 的詳細信息。

10. echo wchc | nc 127.0.0.1 2181 ,通過 session 列出伺服器 watch 的詳細信息,它的輸出是一個與 watch 相關的會話的列表。

11. echo wchp | nc 127.0.0.1 2181 ,通過路徑列出伺服器 watch 的詳細信息。它輸出一個與 session 相關的路徑。

閱讀全文

與zookeeper的啟動命令相關的資料

熱點內容
文件夾工具箱軟體 瀏覽:684
最近為什麼手機連不上索尼伺服器 瀏覽:877
海康錄像機怎麼關視頻加密 瀏覽:786
編程以後有可能被機器人代替嗎 瀏覽:522
windows創建文件命令 瀏覽:986
linuxcopy文件內容 瀏覽:383
程序員帥哥禿頂 瀏覽:839
阿里雲伺服器開通流程 瀏覽:105
如何開雲伺服器 瀏覽:979
網站小說源碼 瀏覽:301
php用什麼ide 瀏覽:867
網上預約課程app哪個好 瀏覽:152
android兼容測試工具 瀏覽:96
雲伺服器不支持虛擬化怎麼辦 瀏覽:189
加密方式的演變 瀏覽:364
java常用演算法pdf 瀏覽:734
伺服器數據遇到異常什麼原因 瀏覽:450
phpexif信息 瀏覽:543
單片機三位元組浮點數 瀏覽:757
命令與征服泰伯利亞戰爭下載 瀏覽:379