zookeeperクライアントコマンドの詳細

4129 ワード

zkClientリンクzookeeeperを使用するには、まずzookeeeper server ./zkCli.sh -server localhost:2181 # zookeeperに接続します.
helpコマンド
helpコマンドは、カスタマーサービス側がサポートしているコマンドを検索するために使用され、helpを実行し、以下のように入力します.
ZooKeeper -server host:port cmd args
    stat path [watch]
    set path data [version]
    ls path [watch]
    delquota [-n|-b] path
    ls2 path [watch]
    setAcl path acl
    setquota -n|-b val path
    history 
    redo cmdno
    printwatches on|off
    delete path [version]
    sync path
    listquota path
    get path [watch]
    create [-s] [-e] path data acl
    addauth scheme auth
    quit 
    getAcl path
    close    close             
    connect host:port     zk   , close              zk   

getコマンド
getコマンドは、ノードの情報を取得するために使用されます.ノードのパスは/先頭の絶対パスでなければなりません.get/
cZxid = 0x0    #      zxid
ctime = Thu Jan 01 08:00:00 CST 1970    #      
mZxid = 0x0   #          zxid
mtime = Thu Jan 01 08:00:00 CST 1970   #           
pZxid = 0x1469   #
cversion = 3   #         
dataVersion = 0   #         
aclVersion = 0    #  ACL(    )     
ephemeralOwner = 0x0    #          ,ephemeralOwner          session id.            ,ephemeralOwner  0
dataLength = 0  #      
numChildren = 4  #     

statコマンド
statコマンドは、stat/
(           get  )
cZxid = 0x0   #
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x1469
cversion = 3
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 4

setコマンド
setコマンドは、ノードのデータを設定するために使用されます.例えば、set /usergrid hellUsergridlsコマンド
lsコマンドは、パスの下のノード情報を取得するために使用されます.パスは、ls/stormなどの絶対パスであることに注意してください.
[assignments, storms, errors, supervisors, workerbeats]

ls 2コマンド
ls 2コマンドはlsコマンドの拡張版であり、lsコマンドよりも本ノード情報を出力します.例えば、ls 2/storm
[assignments, storms, errors, supervisors, workerbeats]
cZxid = 0x1469
ctime = Tue Nov 14 11:32:09 CST 2017
mZxid = 0x1469
mtime = Tue Nov 14 11:32:09 CST 2017
pZxid = 0x1470
cversion = 5
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 5

Listquotaコマンド
Listquotaコマンドは、listquota/stormなどの割当を表示するために使用されます.
setquotaコマンド
setquotaコマンドは、次のようなノード数とデータ長の割り当てを設定します.
setquota –n 4 /zookeeper/node   #  /zookeeper/node        4
setquota –b 100 /zookeeper/node  #  /zookeeper/node       100

delquotaコマンド
delquotaコマンドは、割り当てを削除するために使用されます.-nはサブノード数、-bはノードデータ長です.例えば、delquota-n 2
historyコマンド
historyは、最近のコマンド履歴をリストするために使用され、redoと組み合わせて使用できます.historyのように
redoコマンド
redoコマンドは、redo 20のようなredo cmdidを使用してhistoryと組み合わせて使用されるコマンドを再実行するために使用されます.
createコマンド
createコマンドはノードを作成するために使用されます.-sは順次充填点、-e一時ノードです.
deleteコマンド
deleteコマンドは、delete/nodeDeleteなどのノードを削除するために使用されます.
addauthコマンド
addauthコマンドは、addauth digest username:passwordなどのノード認証に使用されます.
setAclコマンド
setAclコマンドノードAclの設定
Aclは3つの部分から構成されている:1はscheme,2はuser,3はpermission,一般的にはscheme:id:permissionsと表す
getAclコマンド
getAcl/node 1などのノードのAclを取得
schemeとid
world:その下にはanyoneというidしかありません.world:anyoneは誰を代表しています.zookeeeperのすべての人に権限を持つノードはworld:anyoneに属しています.
auth:idは必要ありません.authenticationのuserであれば権限があります(zookeeeperはkerberosでauthencationをサポートし、username/password形式のauthenticationもサポートします).
digest:対応するidはusername:BASE 64(SHA 1(password))であり、username:password形式のauthenticationを先に通過する必要がある
ip:それに対応するidはクライアントのIPアドレスで、設定する時1つの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のデータを取得することができ、現在のnodeのすべてのchild nodesをリストすることができる
WRITE(w):現在のnodeにデータを書き込むことができる書き込み権限
ADMIN(a):現在のnodeのpermissionを設定できる管理権限
syncコマンド
syncコマンドは同期を強制するために使用されます.リクエストが半数以上のzkサーバで有効になった場合、このリクエストが有効になったことを示すため、zkサーバ上のデータが古いものがあります.syncコマンドは、すべての更新操作を強制的に同期させることです.
printwatchersコマンド
printWatchersコマンドは、監視状態の設定と表示に使用します.値はonまたはoffです.
quitコマンド
クライアントを終了