2016-01-13 13 views
5

Ist es möglich, einen zkCli.sh-Befehl wie ls / oder get / direkt von bash aus auszuführen, ohne in die zoekeeper-Shell zu gehen? Ich verwende Zookeeper Version 3.4.6-1569965.Wie führe ich die zkCli.sh-Befehle von zoekeeper aus bash aus?

Zum Beispiel so etwas wie diese:

$ ./zkCli.sh get/

ich in der Lage bin, dies zu der zookeeper Schale nur zu tun, nach dem Verbinden und dann get / von dort ausgeführt wird, wie unten:

$ ./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

Haben Sie versucht, './zkCli.sh -cmd "get /"' –

Antwort

1

kann ich B. HBase-Master-Adresse mit der folgenden Syntax:

zkCli.sh -server myserver get /hbase/master Wenn es nicht funktioniert, thi s andere Wille:

zkCli.sh -server myserver <<EOF 

get /hbase/master 

quit

EOF

3

Sie bash, ohne dabei innerhalb direkt verwenden können. Der einzige Nachteil ist jedoch, dass Sie sicherstellen müssen, dass Ihr zk-Befehl/Syntax korrekt ist.

arbeiten Dies würde:

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

Aber diese Gewohnheit:

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

ist es möglich Ausgabe von 'get' Befehls in eine Datei zu drucken. –