Shell 不使用任何zookeeper客户端读取znode

Shell 不使用任何zookeeper客户端读取znode,shell,apache-zookeeper,Shell,Apache Zookeeper,在我的集群中有一个Zookeeper服务器(我知道它的IP),用于存储我的数据。我使用自定义Java应用程序获取数据 是否有可能在不使用zkCli的情况下从shell中的/a/b获取数据?我没有安装任何zookeeper客户端,由于各种原因,安装zookeeper客户端很复杂 我正在寻找类似于echo'stat'| nc 10.xxx.yyy.zzz 2181,但是echo'get/a/b'| nc…不检索任何内容 谢谢:)ZooKeeper是一个复杂的协议,其原因与它的核心用途有内在联系:需要

在我的集群中有一个Zookeeper服务器(我知道它的IP),用于存储我的数据。我使用自定义Java应用程序获取数据

是否有可能在不使用zkCli的情况下从shell中的
/a/b
获取数据?
我没有安装任何zookeeper客户端,由于各种原因,安装zookeeper客户端很复杂

我正在寻找类似于
echo'stat'| nc 10.xxx.yyy.zzz 2181
,但是
echo'get/a/b'| nc…
不检索任何内容


谢谢:)

ZooKeeper是一个复杂的协议,其原因与它的核心用途有内在联系:需要一个符合协议的客户端与多个服务器通信,以确保它收到的答案是最新的

此外,该协议涉及压缩二进制结构,因此无法在本机shell中实现


我建议:

    <> LI>如果您对安装新软件的限制在某种程度上与上游的ZooKeClient客户端(例如,特定于java)有关,那么考虑一个替代的客户端,如OR(您应该适合编写一些Python代码)。 <> LI>如果您不需要健壮的ZooKER协议的级别,则请确保在您的ZooKever服务器上运行一个服务,该服务器使用本地客户端库执行查找,通过HTTP或原始套接字返回结果,从而允许从别处脚本使用<代码> CURL> <代码>或“代码> NC < /代码>。
ZooKeeper是一个复杂的协议,其原因与它的核心目的有着内在的联系——你必须与多个服务器交谈,而不仅仅是与一个服务器交谈,以确保你得到的答案是最新的。鉴于我拥有的内容很少发生变化,我并不真正关心数据的当前版本。我有机会得到信息吗?感谢Charles:)如果您阅读Python,请看——简言之,即使您忽略了客户端需要执行的操作,以知道其答案是最新的,协议也是压缩二进制的,因此不适合在shell中实现。(…如果您的“复杂原因”虽然排除了JVM但不是Python库,但您可能会认真考虑使用KAZOO)。实际上,协议远不是简单的shell实现。谢谢,我终于把卡祖变成码头工人了。简单的工作。在Dockerfile中安装2行,获取节点需要4行python代码。谢谢查尔斯:)