2016-01-13 13 views
5

È possibile eseguire un comando zkCli.sh come ls / o get / da bash direttamente senza accedere alla shell dello zoo? Sto usando Zookeeper versione 3.4.6-1569965.Come eseguire i comandi zkCli.sh di zookeeper da bash?

Per esempio, qualcosa di simile:

$ ./zkCli.sh get/

sono in grado di farlo solo dopo aver collegato alla shell guardiano e poi correre get / da lì, come di seguito:

$ ./zkCli.sh 
Connecting to localhost:2181 
Welcome to ZooKeeper! 

WATCHER:: 

WatchedEvent state:AuthFailed type:None path:null 
JLine support is enabled 

WATCHER:: 

WatchedEvent state:SyncConnected type:None path:null 
[zk: localhost:2181(CONNECTED) 0] get/
[] 
+1

Hai provato './zkCli.sh -cmd "GET /"' –

risposta

1

posso ottenere l'indirizzo principale HBase, ad esempio, con la seguente sintassi:

zkCli.sh -server myserver get /hbase/master Se non funziona, thi s altra volontà:

zkCli.sh -server myserver <<EOF 

get /hbase/master 

quit

EOF

3

è possibile utilizzare bash senza andare dentro direttamente. Tuttavia, l'unico svantaggio è che devi assicurarti che il tuo comando/sintassi zk sia corretto.

Questo potrebbe funzionare:

#! /bin/bash 
zkCli.sh -server localhost:2181 <<EOF 
get /testnode 
quit 
EOF 

Ma questa abitudine: comanda

#! /bin/bash 
zkCli.sh -server localhost:2181 <<EOF 
gt /testnode 
quit 
EOF 
+0

è possibile stampare l'output di 'comando GET' in un file. –