windows下使用zookeeper启动报错Caused by: java.lang.IllegalArgumentException: myid file is missing,有myid却还报错

  • Post author:
  • Post category:java


学习windows环境下zookeeper集群配置操作时,出现此类错误。

错误信息如下:

2021-04-03 12:06:36,307 [myid:] - ERROR [main:QuorumPeerMain@89] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing D:\soft\zookeeper\zookeeperCluster\zookeeper1\bin\..\conf\zoo.cfg
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:154)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:113)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)
Caused by: java.lang.IllegalArgumentException: myid file is missing
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.checkValidity(QuorumPeerConfig.java:734)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.setupQuorumPeerConfig(QuorumPeerConfig.java:605)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:420)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:150)
        ... 2 more
Invalid config, exiting abnormally

从Caused by来看,上面说我的data/myid文件不存在,file is missing。可是分明有啊!且其中的内容也是1,没有空格等其他的多余字符。为何扔报错?



问题解决:

仔细查看报错信息会发现提示错误审查:Error processing …/conf/zoo.cfg

据此推测应该是配置文件zoo.cfg修改有误,于是来到zoo.cfg进行检查,发现路径配置也正确啊。是复制过来的路径,可是文件不存在,就应该是路径问题,仔细考虑后想到,路径用的反斜线,一个反斜线是转义字符,需要配置两个才可以。


改成两个反斜线就可以了。或者使用斜线

最后写几个学习zookeeper集群的总结(假设启动3个zookeeper,编号分别为1, 2,3):

1.如果顺序启动,2是leader,其他是follower。

2.如果不是顺序启动,在第一次或第二次先启动了3,3就是leader。

3.如果2已经是leader,这时关闭1,3。此时2休眠,但是还是leader,此时启动3, 2依然是leader。

最后,发现网上有很多windows环境下zookeeper集群相关操作,和linux环境下的操作基本一样,就不自己写了。找了一个,链接如下:

https://blog.csdn.net/zixiao217/article/details/82683260



版权声明:本文为xjx891111原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。