我正在尝试 在BeforeAll方法中使用QuorumPeerMain.runFromConfig启动一个 zookeeper 节点,以便我可以在测试中使用它(它嵌入在同一个 JVM 中)。我收到 Invalid configuration, only one server specified (ignoring) 后跟 java.lang.RuntimeException: My id 0 not in the peer list。
我的配置是:
dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=0
server.0=127.0.0.1:2888:3888
最后一行应该引用节点本身,在“无效配置”错误消息之后被丢弃,然后 Zookeeper 抛出异常,因为它的 id 不在列表中。如果 zookeeper 没有丢弃它,它的 id 0 就会在列表中。如何避免此 RuntimeException?
或者,有没有更好的方法从 BeforeAll 运行 zookeeper?