Solr 4.4、Zookeeper 3.4.5、および Tomcat 7 を使用しています。
クラスターのセットアップ: 3 つのシャードと 3 つのレプリカ。合計 6 つの Solr インスタンス。
クラスタは稼働中です。すべて問題ないようです。廃止されたクラスに関するいくつかの警告を除いて、ログに重要なものはありません。
構成の更新方法:
次のコマンドを実行します。
java -classpath .:solr-jars/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost ZOOKEEPER_HOST:PORT -d solr-conf -confname myconf
Zookeeper で構成が更新されたことを確認します。
/var/zookeeper/bin/zkCli.sh ZOOKEEPER_HOST:ポート
ls /configs/myconfig/schema.xml
ls /configs/myconfig/solrconfig.xml
Solr コレクション API を介したコレクションのリロード
curl HOST/solr/admin/collections?action=RELOAD&name=collection1
構成の更新がすべてのノードに正常に適用されたようです。ただし、クラスター内の 1 つのノードがダウンする場合があります (Solr 管理 UI で茶色としてマークされます)。Tomcat の再起動、コレクションのリロードは、このノードを元に戻すのに役立ちません。
ログからのエラー メッセージ:
SyncStrategy - No UpdateLog found - cannot sync
質問:
- 失敗したノードを元に戻す方法はありますか? もちろん、すべてのデータを削除する必要はありません。
- Zookeeper で更新された後、Solr ノードに構成を強制的に受け入れる正しい方法は何ですか? 可能であればTomcatを再起動せずに(本番システムです)
- (任意) 一般的に、SolrCloud の安定性と予測可能性について、あなたは何を満たしていますか? SC と一緒に仕事をしている間、私は他の人々から SC について非常に多くの不満や質問を受けました。良い兆候のようには見えません。
UPDATE 1 エラーメッセージは実際の問題とは関係がないようです。トランザクション ログを構成した後、このエラーは表示されなくなりました。ただし、コレクションのリロード後にダウンするノードはまだほとんどありません。
これを元に戻す唯一の方法は、Zookeeper で clusterstate.json を直接編集し、ノード ステータスを「アクティブ」に変更することです。その後、ノードは問題なく安定しているようです。