web-dev-qa-db-ja.com

Solrcloud:再起動後のエラー500

私は3つのVMウィンドウを持っており、それらすべてにsolr5.4.0と3.4.6zookeeperがインストールされています。 2つのサービスは、VMの起動時に自動的に開始されます。 vmsを再起動した後、Solrが正しく応答しない場合、error500が表示されます。

HTTPエラー500/solr /へのアクセスに問題があります。理由:サーバーエラー... SolrException:リクエストの処理中にエラーが発生しました。 CoreContainerが初期化されていないか、シャットダウンしています。

ログを確認すると、このエラーも発生しています。

o.a.s.c.SolrCore null:org.Apache.solr.common.SolrException:zookeeperからsolr.xmlをロード中にエラーが発生しました

すべてのVMでzookeeperおよびsolrサービスを停止して再起動しようとすると(すべてのvmでzookeeperを起動する前、およびsolrの後で)、solrが正常に動作し始めることがあります。また、UIのsolrcloudセクションで、ノードがダウン状態(茶色で書かれている)になっていることがわかります。

クラスターSolrを作成するために実行する手順をリストします。

  • フォルダ「zookeeper/data」を作成し、この方法でzookeeperノードを追加してZoo.cfgファイルを変更しました

initLimit = 5

syncLimit = 2

dataDir = C:/ zookeeper/data

clientPort = 2181

server.1 = zknode1:2888:3888

server.2 = zknode2:2888:3888

server.3 = zknode2:2888:3888

  • zookeeper\dataのノード(1、2、3)にそれぞれの番号でmyidファイルを作成しました
  • nSSMによって、スクリプトzookeeper\bin\zkServer.cmdを開始するzkサービスと、次のパラメーターを使用してsolr\bin\solr.cmdを開始するsolrサービスを作成しました。

-c -z "zknode1:2181、zknode2:2181、zknode3:2181" -f

クラウドではなくSolrの既存の構成に基づいてコレクションを作成します

solr.cmd create_collection -c mycoll -d C:\ conf\mycoll\conf -n mycoll -shards 1 -replicationFactor 3

各solrノードで、作成されたmycoll_shard1_replicaXフォルダーが表示されます。Xは各ノード(1、2、3)で変更されます。 dataimportも含め、すべてのクエリが機能しますが、ノードを再起動すると、上記の問題が見つかります。コレクションの作成が間違っていますか、それとも既知のバグですか?

2
kasher

これらのモードでサービスのスタートアップを設定することで問題を解決しました

  • 動物園の飼育係:自動
  • solr:自動(開始の遅延)
0
kasher

Solrが初期化を試みる前に、おそらくzookeeperが開始されていないことを示唆しています。 nssm依存関係を使用すると、solrサービスをzookeeperサービスに依存させることができます。 https://nssm.cc/usage

0
Ian