2

Web アプリケーションで ZooKeeper を使用していて、非常に奇妙な問題が見つかりました。2 つのアプリケーション (両方とも Zookeeper を使用) を同じ tomcat にデプロイすると、Tomcat の起動時に 1 つのアプリの ZooKeeper が不可解に切断されます。

以下は私のコードです。これは非常に単純です。

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

4

1 に答える 1

0

ZooKeeper の観点からは、使用法は正しいです。サーバーへの複数の接続を作成できます。

問題になる可能性があるのはmaxClientCnxns、サーバーに存在し、単一の IP アドレスからの接続を制限するというプロパティです。詳細については、maxClientCnxns の Zookeeper ドキュメントを参照してください。

よろしく、クリスチャン

于 2013-03-27T15:44:54.993 に答える