2016-01-13 8 views
5

क्या zkCli.sh कमांड को ls / या get / को झुकाकर खोल के बिना सीधे बैश से चलाने के लिए संभव है? मैं जुकीपर संस्करण 3.4.6-1569 9 65 का उपयोग कर रहा हूं।बैश से zookeeper के zkCli.sh आदेश कैसे चलाएं?

उदाहरण के लिए, कुछ इस तरह:

$ ./zkCli.sh get/

मैं केवल नीचे की तरह चिड़ियाघर संचालक खोल से कनेक्ट होने और फिर वहाँ से get / चल रहा है, के बाद यह करने के लिए कर रहा हूँ:

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

आप की कोशिश की './zkCli.sh -cmd" मिल/"' –

उत्तर

1

मैं कर सकते हैं उदाहरण के लिए, एचबीएएस मास्टर पता प्राप्त करें, निम्नलिखित वाक्यविन्यास के साथ:

zkCli.sh -server myserver get /hbase/master यदि यह काम नहीं करता है, तो थाई एस अन्य इच्छा:

zkCli.sh -server myserver <<EOF 

get /hbase/master 

quit

EOF

3

आप सीधे अंदर जा रहा बिना बैश उपयोग कर सकते हैं। हालांकि, इसका एकमात्र नुकसान यह है कि आपको यह सुनिश्चित करना होगा कि आपका zk कमांड/वाक्यविन्यास सही है।

यह काम करेगा:

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

लेकिन यह अभ्यस्त:

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

यह संभव एक फाइल करने के लिए 'get' आदेश के उत्पादन में मुद्रित करने के लिए है है। –

6

zkCli.sh किया गया है समर्थन प्रक्रिया 3.4.7 के बाद आदेश देता है। https://issues.apache.org/jira/browse/ZOOKEEPER-1897

जैसे:

./zkCli.sh -server xxxxx:2181 get /test 

zkcli, चिड़ियाघर संचालक, https://github.com/go-zkcli/zkcli के लिए एक golang CLI, यह भी एक सरल उपाय।

zkcli --servers srv-1,srv-2,srv-3 create /demo_only some_value 
+0

यह अद्यतित समाधान है !!! –

संबंधित मुद्दे