2012-08-23 16 views
5

solr 3.6 replication 2台のサーバ - マスタとスレーブ - を使用しています。現在、クリーンバックアップを行う方法を探しています。master-slave solr 3.6サーバを使用したバックアップ戦略

As the wiki says so、我々はこのようなマスターのスナップショットを作成するために、HTTPコマンドを使用することができます。http://myMasterHost/solr/replication?command=backup

しかし、我々はまだいくつか質問がある:

  • backupコマンドの利点は何ですかインデックスファイルをコピーする古典的なシェルスクリプト?

  • このコマンドはインデックスのみをバックアップします。 spellcheckerフォルダもコピーできますか?それは必要ですか?

  • アプリケーションが実行されている間にスナップショットを作成できるので、インデックスの更新は可能ですか?

  • バックアップからサーバーを復元する必要がある場合、スレーブで何をする必要がありますか?
    • そのインデックスフォルダにスナップショットをコピーし、replication.propertiesファイルを削除するだけですか?
    • HTTPコマンドhttp://mySlave/solr/replication?command=fetchindexでfetchindexを要求しますか?
    • スレーブインデックスフォルダを空にするだけで、マスターから完全に複製されますか?

答えて

3

あなたはReplicationHandlerによって提供さbackupコマンドを使用することができます。これは非同期操作であり、インデックスが大きい場合は時間がかかります。この方法でSolrをシャットダウンする必要はありません。次に、インデックスディレクトリ内に、バックアップ日付のbackup.yyyymmddHHMMSSという名前の新しいディレクトリがあります。保持する古いバックアップの数を構成することもできます。

バックアップを安全な場所、おそらく別のサーバーに移動した方がいいでしょう。

スペルチェッカーをバックアップすることはできませんが、完全にはわかりません。

もちろん、このコマンドはアプリケーションの実行中に実行されることを前提としています。唯一の問題は、バックアップを開始した後にコミットしたドキュメントがバックアップで失われる可能性があることです。

lucene CheckIndexツールを見ることもできます。インデックスをバックアップしたら、インデックスが正常かどうかを確認できます。

すでにマスタに良好なインデックスがある場合は、スレーブのインデックスを復元するためにバックアップを個人的に使用しません。索引のコピーは、標準の複製プロセス(実際には索引セグメントのコピー)を使用して自動化されます。バックアップにマスターよりも優れたデータが含まれていない限り、手動でコピーする必要はありません。

+0

それは私たちが使用しようとしている解決策です。しかし、コミットが同時に発生している場合、バックアップが破損する危険性があるかどうかは分かりますか?バックアップコマンドがこれを処理することを期待できますが、実際にはsolrのドキュメントには言及されていません。 –

+0

私の答えが更新されました。うまくいけば、あなたにとって役に立ちます。 – javanna

関連する問題