ZooKeeper从单个主机断开多个连接

hvvq6cgz  于 2023-11-15  发布在  Apache
关注(0)|答案(1)|浏览(172)

我在我的Web应用程序中使用ZooKeeper,发现了一个非常奇怪的问题:如果我将两个应用程序(都使用zookeeper)部署到同一个tomcat,当tomcat启动时,一个应用程序中的ZooKeeper会莫名其妙地断开连接。
下面是我的代码,非常简单:

  1. public class ZKTester implements InitializingBean, Watcher {
  2. private ZooKeeper hZooKeeper;
  3. public void afterPropertiesSet() throws Exception {
  4. hZooKeeper = new ZooKeeper("localhost:2181", 300000, this);
  5. }
  6. public void process(WatchedEvent event) {
  7. System.out.println("**************" + event);
  8. }

字符串
Spring配置文件:

  1. <bean id="zooTester" class="com.abc.framework.cluster.ZKTester"/>


下面是tomcat的启动日志:

  1. ...
  2. **************WatchedEvent state:Disconnected type:None path:null
  3. **************WatchedEvent state:Expired type:None path:null
  4. ...


我的用法有错吗?
谢谢
L.J.W

v7pvogib

v7pvogib1#

从ZooKeeper的Angular 来看,这种用法是正确的。你可以创建多个连接到一个服务器。
问题可能是服务器上存在一个名为maxClientCnxns的属性,它限制了来自单个IP地址的连接。有关详细信息,请参阅maxClientCnxns上的Zookeeper文档。
问候,克里斯蒂安

相关问题