我是使用Zookeeper并尝试使用Zookeeper本书学习它的新手。现在,要以独立模式启动服务器,请在书中给出使用命令bin/zkServer.sh start
。
我正在使用Windows,因此我将命令作为bin/zkServer.cmd start
运行,现在我收到一个奇怪的错误:
D:\zoo\zookeeper-3.4.6>bin\zkServer.cmd start
D:\zoo\zookeeper-3.4.6>java "-Dzookeeper.log.dir=D:\zoo\zookeeper-3.4.6\bin\.." "-Dzookeeper.root.logger=INFO,CONSOLE" -cp "D:\zoo\zookeeper-3.4.6\bin\..\build\classes;D:\zoo\zookeeper-3.4.6\bin\..\b
ild\lib\*;D:\zoo\zookeeper-3.4.6\bin\..\*;D:\zoo\zookeeper-3.4.6\bin\..\lib\*;D:\zoo\zookeeper-3.4.6\bin\..\conf" org.apache.zookeeper.server.quorum.QuorumPeerMain "D:\zoo\zookeeper-3.4.6\bin\..\conf
zoo.cfg" start
2014-04-04 21:00:06,573 [myid:] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
2014-04-04 21:00:06,576 [myid:] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
2014-04-04 21:00:06,576 [myid:] - INFO [main:DatadirCleanupManager@101] - Purge task is not scheduled.
2014-04-04 21:00:06,577 [myid:] - WARN [main:QuorumPeerMain@113] - Either no config or no quorum defined in config, running in standalone mode
2014-04-04 21:00:06,626 [myid:] - ERROR [main:ZooKeeperServerMain@54] - Invalid arguments, exiting abnormally
java.lang.NumberFormatException: For input string: "D:\zoo\zookeeper-3.4.6\bin\..\conf\zoo.cfg"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.parseInt(Integer.java:499)
at org.apache.zookeeper.server.ServerConfig.parse(ServerConfig.java:60)
at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:83)
at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:52)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:116)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
2014-04-04 21:00:06,629 [myid:] - INFO [main:ZooKeeperServerMain@55] - Usage: ZooKeeperServerMain configfile | port datadir [ticktime] [maxcnxns]
Usage: ZooKeeperServerMain configfile | port datadir [ticktime] [maxcnxns]
D:\zoo\zookeeper-3.4.6>endlocal
有人可以帮助我理解为什么我会收到此错误吗?命令已经从这本Zookeeper书中提到的内容发生了变化?
在浏览了这篇SO zookeeper not starting之后,我可以通过省略命令的输入start
来使动物园管理员工作。这是在独立模式下启动服务器的正确方法吗?
这是我对zookeeper的配置文件:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
#dataDir=/tmp/zookeeper
dataDir=D:\dataDir
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
答案 0 :(得分:22)
Zookeeper 3.4.6可能会有一些变化。 对于此版本,启动服务器如下所示:
仓\ zkServer.cmd
E.g。
D:\zoo\zookeeper-3.4.6>bin\zkServer.cmd
注意,您不需要传递命令行arg" start"
答案 1 :(得分:0)
可能有两种可能
bin\zkServer.cmd
hello world
°
MyID 文件中可能有空格
例如D:\zoo\zookeeper-3.4.6>bin\zkServer.cmd
改成