如何从bash运行zookeeper的zkCli.sh命令?

rkr*_*nan 7 bash apache-zookeeper

是否有可能直接运行zkCli.sh命令ls /get /直接从bash 运行而无需进入zookeeper shell?我使用的是Zookeeper版本3.4.6-1569965.

例如,像这样:

$ ./zkCli.sh get /
Run Code Online (Sandbox Code Playgroud)

我只能在连接到zookeeper shell然后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 /
[]
Run Code Online (Sandbox Code Playgroud)

jol*_*tar 9

zkCli.sh在3.4.7之后一直是支持进程命令. https://issues.apache.org/jira/browse/ZOOKEEPER-1897

如:

./zkCli.sh -server xxxxx:2181 get /test
Run Code Online (Sandbox Code Playgroud)

zkcli,一个针对zookeeper的golang cli,https://github.com/go-zkcli/zkcli,也是一个简单的解决方案.

zkcli --servers srv-1,srv-2,srv-3 create /demo_only some_value
Run Code Online (Sandbox Code Playgroud)


Gio*_*ova 3

例如,我可以使用以下语法获取 HBase Master 地址:

zkCli.sh -server myserver get /hbase/master 如果它不起作用,另一个将:

zkCli.sh -server myserver <<EOF
get /hbase/master
quit
EOF
Run Code Online (Sandbox Code Playgroud)