先日solr configファイルをいじって「upconfig」した後、solr再行動しようとしたらsolrが起動できなくなりました。
設定ファイルに何か問題があったようで、急いてconfigファイルを元に戻して再度solr再起動してみたら一応できましたが、ノードが「gone」の状態になっていまいました。
その後admin APIのDELETEREPLICAを使って消そうとしても消すことはできません。(使ったコマンドは以下の通りです。↓)
サービス稼働中であるため、collectionを消して作り直すもできません。変なことをしたら他の活きているノードもし死なせたらサービスダウンになってしまうので、結構焦りました。
Solr管理画面の「Core Admin」で確認すると、そのコアが消えた状態となっています。「Add Core」ボタンより前と同じ名前のコアを作ってみることにしました。そしたら以下のようなエラーが管理画面のトップで表示するようになりました。
調べてみたら、インデックスデータが作成中にシャットダウンしたり、接続が切断されたりすると、インデックスデータが破損して上記のエラーになってしまうようです。
解消方法は破損したデータを削除してsolrを再起動するだけです。具体的な手順は以下の通りです。
- まずsolrをstopします。
- tlogフォルダとdataフォルダの中身を全部削除します。
- もしwrite.lockがあればそのファイルも削除します。
- solrをstartします。