我正尝试通过以下方式从班级启动Zoo keeper服务器(并创建一些zk节点), 但是执行会冻结zk节点的创建:
serverExecutor = Executors.newFixedThreadPool(2);
serverExecutor.execute(() -> {
QuorumPeerMain.main(new String[]{"/usr/share/zookeeper-
3.4.6/conf/zoo1.cfg"});
});
serverExecutor.execute(() -> {
QuorumPeerMain.main(new String[]{"/usr/share/zookeeper-
3.4.6/conf/zoo2.cfg"});
});
serverExecutor.shutdown();
zkClient = new ZooKeeper(......
zkClient.create(..... **FREEZES HERE!**
重要说明: 我在执行后不久检查 serverExecutor ,它处于运行状态,两个线程都在运行。 如果我通过终端(提供配置)显式运行服务器,则群集可以正常工作,并且我的客户端成功创建了zk节点。 同样,配置是相同的。 我什至尝试启动3台服务器。
您能帮我从Java代码启动服务器,并使它们在集群中工作吗?