2

サーバー 1 は Apache Zookeeper を実行し、サーバー 2 は Solr を実行しています。Zookeeper を起動すると、サーバー 1 では (bin/zkCli.sh 経由で) 接続できますが、solr を使用してサーバー 2 経由では接続できません。Zookeeper は から起動されますが、改善なしsupervisorで起動してみました。bind/zkServer.shTomcat ログ (Solr がログを記録しているログ) を見ると、次のようになります。

WARNING: Overseer cannot talk to ZK
Jun 04, 2013 3:26:52 PM org.apache.solr.cloud.Overseer$ClusterStateUpdater amILeader
WARNING:
org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for /overseer_elect/leader
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:127)
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
        at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1151)
        at org.apache.solr.common.cloud.SolrZkClient$7.execute(SolrZkClient.java:253)
        at org.apache.solr.common.cloud.SolrZkClient$7.execute(SolrZkClient.java:250)
        at org.apache.solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:65)
        at org.apache.solr.common.cloud.SolrZkClient.getData(SolrZkClient.java:250)
        at org.apache.solr.cloud.Overseer$ClusterStateUpdater.amILeader(Overseer.java:199)
        at org.apache.solr.cloud.Overseer$ClusterStateUpdater.run(Overseer.java:122)
        at java.lang.Thread.run(Thread.java:722)

...


Jun 04, 2013 3:31:04 PM org.apache.zookeeper.ClientCnxn$SendThread logStartConnect
INFO: Opening socket connection to server XXX.XXX.XXX.XXX/XXX.XXX.XXX.XXX:2181. Will not attempt to authenticate using SASL (unknown error)
Jun 04, 2013 3:31:04 PM org.apache.zookeeper.ClientCnxn$SendThread run
INFO: Client session timed out, have not heard from server in 46974ms for sessionid 0x13f0f5a570c0006, closing socket connection and attempting reconnect
Jun 04, 2013 3:31:05 PM org.apache.zookeeper.ClientCnxn$SendThread logStartConnect
INFO: Opening socket connection to server XXX.XXX.XXX.XXXXXX.XXX.XXX.XXX.75:2181. Will not attempt to authenticate using SASL (unknown error)
Jun 04, 2013 3:32:01 PM org.apache.zookeeper.ClientCnxn$SendThread run
INFO: Client session timed out, have not heard from server in 56627ms for sessionid 0x13f0f5a570c0006, closing socket connection and attempting reconnect

サーバー 2 の solr からアクセスできるように Zookeeper をセットアップするにはどうすればよいですか?

追加情報:netstat -lサーバー 1 で使用すると、次のようになります。

tcp6       0      0 [::]:2181               [::]:*                  LISTEN

つまり、tcp ではなく tcp6 でのみリッスンします。

4

1 に答える 1

0

Zookeeper サーバーのファイアウォール構成を確認し、ポート 2181、2888、および 3888 がすべて開いていることを確認します。2181 はクライアント通信ポートで、2888 と 3888 は Zookeeper クラスター通信に使用されます (Zookeeper をアンサンブルで実行することにした場合)。

于 2013-11-21T21:43:36.463 に答える