Zookeeper 安装无法在 windows 10 上运行

Zookeeper install not working on windows 10

好吧,我的 JAVA_HOME 设置正确。我现在收到这个错误。

C:\projects\zookeeper\zk\bin>call "C:\Program Files\Java\jdk-9"\bin\java "-Dzookeeper.log.dir=C:\projects\zookeeper\zk\bin\..\logs" "-Dzookeeper.root.logger=INFO,CONSOLE" "-Dzookeeper.log.file=zookeeper-User-server-HUNTER-PC.log" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%p /t /f" -cp "C:\projects\zookeeper\zk\bin\..\build\classes;C:\projects\zookeeper\zk\bin\..\build\lib\*;C:\projects\zookeeper\zk\bin\..\*;C:\projects\zookeeper\zk\bin\..\lib\*;C:\projects\zookeeper\zk\bin\..\conf" org.apache.zookeeper.server.quorum.QuorumPeerMain "C:\projects\zookeeper\zk\bin\..\conf\zoo.cfg" start
2017-09-29 10:44:10,183 [myid:] - INFO  [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
2017-09-29 10:44:10,183 [myid:] - INFO  [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
2017-09-29 10:44:10,183 [myid:] - INFO  [main:DatadirCleanupManager@101] - Purge task is not scheduled.
2017-09-29 10:44:10,183 [myid:] - WARN  [main:QuorumPeerMain@122] - Either no config or no quorum defined in config, running  in standalone mode
2017-09-29 10:44:10,183 [myid:] - INFO  [main:ManagedUtil@46] - Log4j found with jmx enabled.
2017-09-29 10:44:10,330 [myid:] - ERROR [main:ZooKeeperServerMain@64] - Invalid arguments, exiting abnormally
java.lang.NumberFormatException: For input string: "C:\projects\zookeeper\zk\bin\..\conf\zoo.cfg"
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.base/java.lang.Integer.parseInt(Integer.java:652)
        at java.base/java.lang.Integer.parseInt(Integer.java:770)
        at org.apache.zookeeper.server.ServerConfig.parse(ServerConfig.java:61)
        at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:101)
        at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:62)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:125)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:79)
2017-09-29 10:44:10,330 [myid:] - INFO  [main:ZooKeeperServerMain@65] - Usage: ZooKeeperServerMain configfile | port datadir [ticktime] [maxcnxns]
Usage: ZooKeeperServerMain configfile | port datadir [ticktime] [maxcnxns]

C:\projects\zookeeper\zk\bin>endlocal

这是我的配置文件:zoo.cfg

tickTime=2000
dataDir=c:/projects/zookeeper/zk/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

我反复把dataDir改成C:/tmp到/usr/ 并确保目录确实存在。我很茫然。我在 windows 10 上 运行 这个。我安装了最新的 JDK 9,路径是准确的。

好的,我想出了自己的答案。一切都已正确安装。但是即使 运行 在管理员模式命令提示符下,zookeeper 也无法正常工作。实际上,我必须右键单击 bin 文件夹中的 zkServer.cmd,然后以管理员身份说 运行。我以前在使用 SigWebTablet 软件时遇到过这个问题。我认为这是 运行ning Windows10 开发人员的问题。办公室里的其他人对 Windows 也有这个问题。希望这会对其他人有所帮助。

假设您已将 conf\zoo_sample.cfg 文件重命名为 conf\zoo.cfg 并设置dataDir 属性 正确,你已经完成了;使用以下命令启动 Zookeeper 服务器

C:\zookeeper-3.4.12\bin>.\zkServer.cmd

不是以下

C:\zookeeper-3.4.12\bin>.\zkServer.cmd start

就我而言,运行宁作为管理员没有用。我需要一种方法来告诉 Zookeeper 根据 3 个配置文件设置三个实例。起作用的是编辑 zkServer.cmd 文件并从 call 开始的行中删除 "%ZOOCFG%" 参数。现在我可以 运行 bin\zkServer.cmd conf\zoo.cfgbin\zkServer.cmd conf\zoo2.cfgbin\zkServer.cmd conf\zoo3.cfg 在三个命令提示符 windows 中启动我的集群并 运行ning :)