3

このように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 /たか、私も助けてからEnterキーを押しましたが、コンソールで何も起こっていません-

下記参照 -

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /

書いls / てエンターを押した後、コンソールに何も表示されず、help同様に... Zookeeperで作業するのはこれが初めてです..私がここで何をしているのか誰か知っていますか?

アップデート:-

Windowsコマンドプロンプトでは正常に動作しますが、CYGWINでは動作しません..そして、CYGWINで動作しない理由がわかりません..

4

1 に答える 1

4

同じ問題がありました。これが私が見つけたものです。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 を削除するとうまくいくはずです。私はこれを試しませんでした。

于 2014-03-17T18:01:23.087 に答える