main:ZooKeeperServerMain @ 54 - 参数无效,异常退出

时间:2014-04-04 15:54:59

标签: apache-zookeeper

我是使用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

2 个答案:

答案 0 :(得分:22)

Zookeeper 3.4.6可能会有一些变化。 对于此版本,启动服务器如下所示:

仓\ zkServer.cmd

E.g。

D:\zoo\zookeeper-3.4.6>bin\zkServer.cmd

注意,您不需要传递命令行arg" start"

答案 1 :(得分:0)

可能有两种可能

  1. Zookeeper 3.4.6 中的变化。对于这个版本,启动服务器如下图所示:

bin\zkServer.cmd

hello world °

  1. MyID 文件中可能有空格 例如D:\zoo\zookeeper-3.4.6>bin\zkServer.cmd 改成

    “1”Image link after edit of myid