我在我的cygwin控制台上启动了我的Zookeeper,并且它已成功启动 -
username@00542612 ~
$ zkServer.sh start
JMX enabled by default
Using config: C:\ApacheZookeeper\zookeeper-3.4.5\conf\zoo.cfg
Starting zookeeper ... STARTED
现在,在连接到ZooKeeper之后。我打开了一个新的Cygwin窗口,并发出以下命令
$ zkCli.sh
默认情况下将连接到运行在localhost:2181的ZooKeeper服务器,并将打开zk控制台。这就是我在控制台上得到的。我相信到现在一切都很好 -
username@00542612 ~
$ zkCli.sh
Connecting to localhost:2181
2013-10-28 12:56:34,958 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
2013-10-28 12:56:34,961 [myid:] - INFO [main:Environment@100] - Client environment:host.name=00542612.corp.host.com
2013-10-28 12:56:34,961 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.6.0_26
2013-10-28 12:56:34,962 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Sun Microsystems Inc.
2013-10-28 12:56:34,962 [myid:] - INFO [main:Environment@100] - Client environment:java.home=C:\Java\jdk1.6.0_26\jre
2013-10-28 12:56:34,963 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=C:\ApacheZookeeper\zookeeper-3.4.5\build\classes;C:\ApacheZookeeper\zookeeper-3.4.5\build\lib\*.jar;C:\ApacheZookeeper\zookeeper-3.4.5\lib\slf4j-log4j12-1.6.1.jar;C:\ApacheZookeeper\zookeeper-3.4.5\lib\slf4j-api-1.6.1.jar;C:\ApacheZookeeper\zookeeper-3.4.5\lib\netty-3.2.2.Final.jar;C:\ApacheZookeeper\zookeeper-3.4.5\lib\log4j-1.2.15.jar;C:\ApacheZookeeper\zookeeper-3.4.5\lib\jline-0.9.94.jar;C:\ApacheZookeeper\zookeeper-3.4.5\zookeeper-3.4.5.jar;C:\ApacheZookeeper\zookeeper-3.4.5\src\java\lib\*.jar;C:\ApacheZookeeper\zookeeper-3.4.5\conf;C;C:\Program Files (x86)\IBM\RationalSDLC\ClearQuest\cqjni.jar
2013-10-28 12:56:34,963 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=C:\Java\jdk1.6.0_26\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\MinGW\msys\1.0\bin;C:\MinGW\bin;C:\Java\jdk1.6.0_26\bin;C:\cygwin\bin;C:\cygwin\etc\alternatives;C:\Program Files (x86)\DataStax Community\python;C:\Users\username\openssl\bin;C:\Python27;C:\Python27\Scripts;D:\app\username\product\11.1.0\db_1\bin;C:\apache-maven-3.0.4-bin\apache-maven-3.0.4\bin;C:\Program Files (x86)\IBM\RationalSDLC\Clearquest\cqcli\bin;C:\Perl64\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Perl64\bin;C:\Program Files (x86)\Perforce;C:\Program Files (x86)\IBM\RationalSDLC\ClearCase\bin;C:\Program Files (x86)\IBM\RationalSDLC\common;D:\ede-5.1.1\apache-ant-1.7.1.2008.06.27\bin;C:\Program Files (x86)\Git\cmd;C:\Program Files\Common Files\Hitachi ID;C:\ApacheZookeeper\zookeeper-3.4.5\bin;%APPDATA%\Python\Scripts;.
2013-10-28 12:56:34,963 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=C:\cygwin\tmp\
2013-10-28 12:56:34,964 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2013-10-28 12:56:34,964 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Windows 7
2013-10-28 12:56:34,965 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2013-10-28 12:56:34,965 [myid:] - INFO [main:Environment@100] - Client environment:os.version=6.1
2013-10-28 12:56:34,965 [myid:] - INFO [main:Environment@100] - Client environment:user.name=username
2013-10-28 12:56:34,966 [myid:] - INFO [main:Environment@100] - Client environment:user.home=C:\Users\username
2013-10-28 12:56:34,966 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=C:\cygwin\home\username
2013-10-28 12:56:34,968 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@48b8f82d
Welcome to ZooKeeper!
2013-10-28 12:56:35,019 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@966] - Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration)
JLine support is enabled
2013-10-28 12:56:35,021 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@849] - Socket connection established to 127.0.0.1/127.0.0.1:2181, initiating session
2013-10-28 12:56:35,047 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@1207] - Session establishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid = 0x14200a378c30000, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]
现在我试图ls /
查看我一般有多少个节点,或者我也帮忙然后按回车键但我的控制台上什么也没发生 -
见下文 -
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /
在写完ls /
并按下回车后,我的控制台中没有任何内容出现,同时也出现help
......这是我第一次和Zookeeper一起工作..有谁知道我错了什么我在这做什么?
更新: -
它在Windows命令提示符下工作正常但在CYGWIN中没有。我不知道为什么它在CYGWIN中不起作用..
答案 0 :(得分:2)
我有同样的问题。这是我发现的。 Zookeeper使用jline为客户端执行花哨的东西(例如历史浏览等)。我发现你可以通过添加
来配置jline-Djline.terminal = jline.UnixTerminal
到你的zkCli.sh文件这是我的样子:
"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
-Djline.terminal=jline.UnixTerminal \
-cp "$CLASSPATH" $CLIENT_JVMFLAGS $JVMFLAGS \
org.apache.zookeeper.ZooKeeperMain "$@"
我仍然可以在windows cmd提示符下使用.cmd版本,如果我想要带有向上箭头的历史记录,但由于我总是在cygwin中,这对我来说很好。
编辑:
您也可以简单地设置CLIENT_JVMFLAGS。
此外,在阅读了zookeeper的代码后,从lib中删除jline * .jar应该可行。我没试过。