1. 程式人生 > >【Apache ZooKeeper】命令列zkCli.sh使用指南

【Apache ZooKeeper】命令列zkCli.sh使用指南

ZooKeeper命令列

ZooKeeper客戶端有C語言和Java兩個版本。

ZooKeeper的命令在/usr/lib/zookeeper/bin資料夾下。

執行Java版本的客戶端使用bash zkCli.sh -server IP:port ,執行C語言版本的使用./cli_mt IP:port,下面介紹Java版本的,C語言版差不多。

檢視具體結點資訊

bash zkServer.sh status
[email protected]:/usr/lib/zookeeper/bin# bash zkServer.sh status
JMX enabled by default
Using config: /usr/lib/zookeeper/bin/../conf/zoo.cfg
Mode: standalone


檢視哪個結點被選作leader或者follower

echo stat|nc 127.0.0.1 2181
[email protected]:/usr/lib/zookeeper/bin# echo stat|nc 127.0.0.1 2181 
Zookeeper version: 3.4.5-cdh4.4.0--1, built on 09/04/2013 01:46 GMT
Clients:
 /127.0.0.1:57736[0](queued=0,recved=1,sent=0)


Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 4


測試是否啟動了該Server,若回覆imok表示已經啟動

echo ruok|nc 127.0.0.1 2181
[email protected]:/usr/lib/zookeeper/bin# echo ruok|nc 127.0.0.1 2181
imok


ZooKeeper命令列類似於shell。
當啟動 ZooKeeper 服務成功之後,輸入下述命令,連線到 ZooKeeper 服務:
bash zkCli.sh –server 192.168.255.133:2181


[email protected]:/usr/lib/zookeeper/bin# bash zkCli.sh -server 192.168.255.133:2181
Connecting to 192.168.255.133:2181
2013-09-12 15:38:39,654 [myid:] - INFO  [main:
[email protected]
] - Client environment:zookeeper.version=3.4.5-cdh4.4.0--1, built on 09/04/2013 01:46 GMT
2013-09-12 15:38:39,657 [myid:] - INFO  [main:[email protected]] - Client environment:host.name=ubuntu
2013-09-12 15:38:39,659 [myid:] - INFO  [main:[email protected]] - Client environment:java.version=1.6.0_43
2013-09-12 15:38:39,660 [myid:] - INFO  [main:[email protected]] - Client environment:java.vendor=Sun Microsystems Inc.
2013-09-12 15:38:39,662 [myid:] - INFO  [main:[email protected]] - Client environment:java.home=/usr/local/jdk1.6.0_43/jre
2013-09-12 15:38:39,664 [myid:] - INFO  [main:[email protected]] - Client environment:java.class.path=/usr/lib/zookeeper/bin/../build/classes:/usr/lib/zookeeper/bin/../build/lib/*.jar:/usr/lib/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/lib/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/lib/zookeeper/bin/../lib/netty-3.2.2.Final.jar:/usr/lib/zookeeper/bin/../lib/log4j-1.2.15.jar:/usr/lib/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/lib/zookeeper/bin/../zookeeper-3.4.5-cdh4.4.0.jar:/usr/lib/zookeeper/bin/../src/java/lib/*.jar:/usr/lib/zookeeper/bin/../conf:
2013-09-12 15:38:39,665 [myid:] - INFO  [main:[email protected]] - Client environment:java.library.path=/usr/local/jdk1.6.0_43/jre/lib/amd64/server:/usr/local/jdk1.6.0_43/jre/lib/amd64:/usr/local/jdk1.6.0_43/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2013-09-12 15:38:39,667 [myid:] - INFO  [main:[email protected]] - Client environment:java.io.tmpdir=/tmp
2013-09-12 15:38:39,668 [myid:] - INFO  [main:[email protected]] - Client environment:java.compiler=<NA>
2013-09-12 15:38:39,669 [myid:] - INFO  [main:[email protected]] - Client environment:os.name=Linux
2013-09-12 15:38:39,670 [myid:] - INFO  [main:[email protected]] - Client environment:os.arch=amd64
2013-09-12 15:38:39,670 [myid:] - INFO  [main:[email protected]] - Client environment:os.version=3.2.0-51-generic
2013-09-12 15:38:39,672 [myid:] - INFO  [main:[email protected]] - Client environment:user.name=root
2013-09-12 15:38:39,672 [myid:] - INFO  [main:[email protected]] - Client environment:user.home=/root
2013-09-12 15:38:39,673 [myid:] - INFO  [main:[email protected]] - Client environment:user.dir=/usr/lib/zookeeper/bin
2013-09-12 15:38:39,674 [myid:] - INFO  [main:[email protected]] - Initiating client connection, connectString=192.168.255.133:2181 sessionTimeout=30000 [email protected]
Welcome to ZooKeeper!
JLine support is enabled
2013-09-12 15:38:39,720 [myid:] - INFO  [main-SendThread(192.168.255.133:2181):[email protected]] - Opening socket connection to server 192.168.255.133/192.168.255.133:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration)
2013-09-12 15:38:39,729 [myid:] - INFO  [main-SendThread(192.168.255.133:2181):[email protected]] - Socket connection established to 192.168.255.133/192.168.255.133:2181, initiating session
[zk: 192.168.255.133:2181(CONNECTING) 0] 2013-09-12 15:38:39,748 [myid:] - INFO  [main-SendThread(192.168.255.133:2181):[email protected]] - Session establishment complete on server 192.168.255.133/192.168.255.133:2181, sessionid = 0x141102059a70001, negotiated timeout = 30000


WATCHER::


WatchedEvent state:SyncConnected type:None path:null


輸入help顯示幫助資訊:

help 
ZooKeeper -server host:port cmd args
        connect host:port
        get path [watch]
        ls path [watch]
        set path data [version]
        rmr path
        delquota [-n|-b] path
        quit 
        printwatches on|off
        create [-s] [-e] path data acl
        stat path [watch]
        close 
        ls2 path [watch]
        history 
        listquota path
        setAcl path acl
        getAcl path
        sync path
        redo cmdno
        addauth scheme auth
        delete path [version]
        setquota -n|-b val path
[zk: 192.168.255.133:2181(CONNECTED) 1] 

連線成功後,系統會輸出 ZooKeeper 的相關環境以及配置資訊,並在螢幕輸出“ Welcome to ZooKeeper ”等資訊。

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

1 )使用 ls 命令來檢視當前 ZooKeeper 中所包含的內容:
[zk: 202.115.36.251:2181(CONNECTED) 1] ls /
[zookeeper]

2 )建立一個新的 znode ,使用 create /zk myData 。這個命令建立了一個新的 znode 節點“ zk ”以及與它關聯的字串:
[zk: 202.115.36.251:2181(CONNECTED) 2] create /zk "myData"
Created /zk 

3 )我們執行 get 命令來確認 znode 是否包含我們所建立的字串:
[zk: 202.115.36.251:2181(CONNECTED) 3] get /zk
cZxid = 0x6
ctime = Thu Sep 12 15:49:16 CST 2013
mZxid = 0x7
mtime = Thu Sep 12 15:49:38 CST 2013
pZxid = 0x6
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 0

4 )下面我們通過 set 命令來對 zk 所關聯的字串進行設定:
[zk: 202.115.36.251:2181(CONNECTED) 4] set /zk "zsl"
"myData"
cZxid = 0x4
ctime = Thu Sep 12 15:46:37 CST 2013
mZxid = 0x4
mtime = Thu Sep 12 15:46:37 CST 2013
pZxid = 0x4
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0

5 )下面我們將剛才建立的 znode 刪除:
[zk: 202.115.36.251:2181(CONNECTED) 5] delete /zk

當然,我們還可以建立有曾次的目錄,比如使用create /zk/node1在zk目錄下建立新的目錄node1
[zk: 192.168.255.133:2181(CONNECTED) 18] create /zk/node1 "node1"
Created /zk/node1
[zk: 192.168.255.133:2181(CONNECTED) 19] ls /zk
[node1]


使用ZooKeeper四字命令

傳遞四個字母的字串給ZooKeeper,ZooKeeper會返回一些有用的資訊。

ZooKeeper 四字命令

功能描述

conf

輸出相關服務配置的詳細資訊。

cons

列出所有連線到伺服器的客戶端的完全的連線 / 會話的詳細資訊。包括“接受 / 傳送”的包數量、會話 id 、操作延遲、最後的操作執行等等資訊。

dump

列出未經處理的會話和臨時節點。

envi

輸出關於服務環境的詳細資訊(區別於 conf 命令)。

reqs

列出未經處理的請求

ruok

測試服務是否處於正確狀態。如果確實如此,那麼服務返回“imok ”,否則不做任何相應。

stat

輸出關於效能和連線的客戶端的列表。

wchs

列出伺服器 watch 的詳細資訊。

wchc

通過 session 列出伺服器 watch 的詳細資訊,它的輸出是一個與watch 相關的會話的列表。

wchp

通過路徑列出伺服器 watch 的詳細資訊。它輸出一個與 session相關的路徑。


例如:

[email protected]:/usr/lib/zookeeper/bin# echo conf |nc 192.168.255.133 2181    
clientPort=2181
dataDir=/var/lib/zookeeper/version-2
dataLogDir=/var/log/zookeeper/version-2
tickTime=2000
maxClientCnxns=50
minSessionTimeout=4000
maxSessionTimeout=40000
serverId=0
























相關推薦

Apache ZooKeeper命令zkCli.sh使用指南

ZooKeeper命令列 ZooKeeper客戶端有C語言和Java兩個版本。 ZooKeeper的命令在/usr/lib/zookeeper/bin資料夾下。 執行Java版本的客戶端使用bash zkCli.sh -server IP:port ,執行C語言版本的使用.

Zookeeper命令zkCli.sh&zkServer.sh的使用(四)

上篇博文,我們成功的安裝和啟動了zookeeper伺服器,zookeeper還提供了很多方便的功能,方便我們檢視伺服器的狀態,增加,修改,刪除資料(入口是zkServer.sh和zkCli.sh)。還提供了一系列四字命令,方便我們跟伺服器進行各種互動,來確認伺服

Python自學——命令引數

python可以像c一樣在啟動指令碼時向指令碼傳遞一些引數,只需在命令列啟動時輸入: python test.py first second 引數可以有許多個,但這個特性的實現需要在程式碼前引入模組: from sys import argv python 會生成一個叫

原創命令(2)----一些伺服器命令

      Ls Ps –x Cd server/ Sh stopall.sh Sh fresh.sh Sh runall.sh       命令全部小寫即可   Ls

tensorflow命令引數解析

1. tf.app.flags,用於支援接受命令列傳遞引數 import tensorflow as tf #第一個是引數名稱,第二個引數是預設值,第三個是引數描述 tf.app.flags.DEFINE_string('str_name', 'def_v_1',"descrip1")

原創命令與python_基於powershell的命令

一 起源和官方文件 學命令列,來自於《笨辦法學python》這本書,作者強調要先用python2和powershell 我確實也是先這麼幹的,所以先學了powershell 官方文件 powershell微軟官方手冊 https://docs.microso

spark命令檢視parquet檔案內容

1,進入spark shell ./spark-shell 2,執行以下操作讀取parquet檔案 val sqlContext = new org.apache.spark.sql.SQLContext(sc) val parquetFile = sqlCont

命令執行main方法

原文:http://www.cnblogs.com/JeffChen/archive/2008/01/15/1039708.htmljavac和java命令列中的-classpath選項這是個很基礎的問題,但是因為基本上都是用現有的IDE工具 來開發java程式,所以很少有人

Git命令操作

Git 命令列操作 # 1 本地庫初始化 `git init`:初始化本地倉庫 效果 ![](https://img2020.cnblogs.com/blog/1542615/202101/1542615-20210114123554871-1157486264.png) 注意:.git目錄中存放的是本

Apache KafkaKafka學習筆記

local ets prop strong 當前 text 生產 create topic 0x00 基本信息 1、Kafka架構圖 2、環境信息 服務器IP:xx.xx.xx.xx 操作系統:CentOS7.2_x64 Kafka版本:kafka_2.12-1.1

Apache Thriftwindows下thrift的安裝(一)

概述   Thrift最初由Facebook開發的,後來提交給了Apache基金會將Thrift作為一個開源專案。當時facebook開發使用它是為了解決系統中各系統間大資料量的傳輸通訊以及系統之間語言環境不同需要跨平臺的特性,所以Thrift是支援跨語言,比如C++, Java

Redis資料庫命令學習筆記——釋出訂閱、事務、指令碼、連線命令彙總

本篇基於redis 4.0.11版本,學習釋出訂閱、事務、指令碼、連線的相關命令。 Redis 釋出訂閱(pub/sub)是一種訊息通訊模式:傳送者(pub)傳送訊息,訂閱者(sub)接收訊息。 序

超級賬本fabric-ca — makeDocker.sh原始碼分析

概述 在first-network例子中,msp的初始化是依賴工具生成,而fabric-ca是專門啟動CA節點的。這部分的程式碼基本落實是這樣的: 由start.sh啟動 在start.sh中呼叫makeDocker.sh初始話docker compose.

超級賬本first-network -- script.sh原始碼分析

script.sh的邏輯非常簡單,只是依次執行了一些測試命令(部分基礎含義定義依賴相同目錄下的utils.sh),主要函式如下: createChannel peer channel create -o orderer.example.com:7050 -c

設計模式——命令模式

【命令模式】 命令模式(Command),將一個請求封裝為一個物件,從而使你可用不同的請求對客戶進行引數化,對請求進行排隊或者使記錄請求日誌,以及支援可撤銷的操作 【介紹】 主要解決:在軟體系統中,行為請求者與行為實現者通常是一種緊耦合的關係,但是某些場

資料庫-MySql根據的型別來統一修改資料庫所有表的資料

#如果存在 UpdateDataByColumnType 儲存過程則刪除 UpdateDataByColumnType 儲存過程 drop procedure if exists UpdateDataByColumnType; #如果存在 tmpTable 臨時表則刪除 UpdateDat

Apache Tomcat如何修改tomcat預設埠8080

     我們知道,tomcat伺服器使用預設埠是8080,記憶中Oracle服務的預設埠也是8080,如果我們要使用Oracle資料庫同時要執行在tomcat上的話,此時,必然有一個不能使用8080埠,這時候,就需要修改其中一個。下面我們看看怎麼修改tomcat的預設埠:

Apache Shiro學習筆記——Authentication基礎

從Authentication一步步學習。  先從程式碼開始,執行後再慢慢研究。 以下是我新增的dependecies: <!-- shiro --> <dependency> <groupId>org.apache.shir

Android UI狀態和toolbar顏色一致

1、在style.xml中定義toolbar的顏色 <resources> <!-- Base application theme. --> <style name="AppBaseTheme" parent="Theme.

Apache-Server安裝和配置Apache2.4伺服器(在Windows下)

一、版本介紹及安裝過程      首先我們要先下載Apache2.4伺服器:http://httpd.apache.org/。 關於現在那個版本的伺服器我這裡要說明一下,Apache有本身的伺服器是不能使用的,必須要先編譯才可以使用的。但是在他的官網上也提供了第三方編