我尝试使用nc
,
首先致电nc localhost 2181
,然后输入: stat 有效。
而echo "stat" | nc localhost 2181
什么都不返回。
为什么?
答案 0 :(得分:4)
在Zookeeper邮件列表中问了同样的问题,得到了这个:
很可能你使用了错误的“nc”命令。
不开玩笑:P有两个不同的“nc”包和语法 那时候是不同的。在类似debian的发行版中,它们是 netcat-openbsd和netcat-traditional,但我遇到了同样的问题 在CentOS中使用netcat的问题(我记不起它的名字了 包裹,抱歉)直到我意识到我错了。
- Tomas Nunez
我发现我的服务器上的nc是nc.openbsd,安装后nc.traditional,
echo "stat" | nc.traditional 10.18.10.30 2181
返回预期结果。
答案 1 :(得分:4)
我发现在-q
命令中使用nc
参数添加等待会产生预期的输出。
echo "ruok" | nc -q 2 localhost 2181
在Ubuntu系统上为我工作。您可能需要在OpenBSD系统上使用-w
而不是-q
。