ZooKeeper отключает несколько соединений от одного хоста

Я использую ZooKeeper в своем веб-приложении и обнаружил очень странную проблему: если я разверну два приложения (оба используют zookeeper) на одном и том же tomcat, ZooKeeper в одном приложении необъяснимым образом отключится при запуске tomcat.

Ниже приведен мой код, который очень прост:

public class ZKTester implements InitializingBean, Watcher {

    private ZooKeeper hZooKeeper;

    public void afterPropertiesSet() throws Exception {
        hZooKeeper = new ZooKeeper("localhost:2181", 300000, this);
    }

    public void process(WatchedEvent event) {
        System.out.println("**************" + event);
    }

и весенний конфигурационный файл:

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

А вот журнал запуска tomcat:

...
**************WatchedEvent state:Disconnected type:None path:null
**************WatchedEvent state:Expired type:None path:null
...

Есть ли ошибки в моем использовании?

Спасибо

LJW

1 ответ

С точки зрения ZooKeeper использование является правильным. Вы можете создать несколько подключений к серверу.

В чем может быть проблема, это свойство называется maxClientCnxns который присутствует на сервере и ограничивает соединения с одного IP-адреса. См. Документацию Zookeeper на maxClientCnxns для получения дополнительной информации.

С уважением, Кристиан

Другие вопросы по тегам