ZooKeeper给出退出JVM的错误代码2错误

ZooKeeper给出退出JVM的错误代码2错误,jvm,apache-zookeeper,Jvm,Apache Zookeeper,我的机器中有openjdk16.0.1、zookeper和kafka 当我使用命令“zkServer.cmd start”时,它给出以下错误 ERROR [main:QuorumPeerMain@99] - Invalid config, exiting abnormally org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing C:\Users\****\Desktop\apa

我的机器中有openjdk16.0.1、zookeper和kafka

当我使用命令“zkServer.cmd start”时,它给出以下错误

ERROR [main:QuorumPeerMain@99] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing C:\Users\****\Desktop\apache-zookeeper-3.7.0-bin\bin\..\conf\zoo.cfg
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:198)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:125)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:91)
Caused by: java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
        at java.base/java.util.Properties.loadConvert(Properties.java:672)
        at java.base/java.util.Properties.load0(Properties.java:456)
        at java.base/java.util.Properties.load(Properties.java:408)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:185)
        ... 2 more
Invalid config, exiting abnormally
2021-04-30 17:25:17,422 [myid:] - INFO  [main:ZKAuditProvider@42] - ZooKeeper audit is disabled.
2021-04-30 17:25:17,428 [myid:] - ERROR [main:ServiceUtils@42] - Exiting JVM with code 2
有什么解决办法吗

tickTime=2000 
initLimit=10 
syncLimit=5 
dataDir=C:\Users\myUserName\Desktop\apache-zookeeper-3.7.0-bin\data clientPort=2181
现在我更改了zookeper文件夹的位置。它现在位于C:
dataDir=C:\apache-zookeeper-3.7.0-bin\data 然而,仍然存在一些错误。这次:

ERROR [main:ZooKeeperServerMain@70] - Invalid arguments, exiting abnormally
java.lang.NumberFormatException: For input string: "C:\apache-zookeeper-3.7.0-bin\bin\..\conf\zoo.cfg"
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
        at java.base/java.lang.Integer.parseInt(Integer.java:660)
        at java.base/java.lang.Integer.parseInt(Integer.java:778)
        at org.apache.zookeeper.server.ServerConfig.parse(ServerConfig.java:78)
        at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:110)
        at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:68)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:141)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:91)

对于初学者,请查看
C:\Users\***\Desktop\apache-zookeeper-3.7.0-bin\bin\..\conf\zoo.cfg文件是否可以找到格式错误的\uxxx序列。您应该回答问题以包含信息。但请注意,这一行中有一个
\U
,这有点奇怪,因为它是大写的U,不应该被解释为
\uxxx
,但它清楚地表明反斜杠序列是被解释的,所以必须用另一个反斜杠转义文字反斜杠字符。必须转义所有反斜杠。链接文档说明“该方法不会将无效转义字符之前的反斜杠字符\视为错误;反斜杠会自动删除。”因此,不转义反斜杠字符将导致意外的序列(在偶然形成有效序列时)或自动删除。在这两种情况下,结果都不是您想要的。由于在org.apache.zookeeper.server.ServerConfig.parse(ServerConfig.java:78)发生异常
,因此值得一看,该方法将其第一个字符串参数传递给
parseInt
,以获取端口号。您只需沿着堆栈跟踪检查该数组的起源,尽管我怀疑它将直接来自命令行。但是验证四个调用方位置应该不会太难……您不需要Eclipse。我已经提供了一个指向起点的链接。接下来的两个很容易在附近找到,而且。他们像被怀疑的那样通过了辩论。