【Solrでレプリケーション】
これは簡単でびっくりしました。言ってみればsolrconfig.xmlの中で、
以下の設定するだけです。。
☆ マスタ側
<requestHandler name=”/replication” class=”solr.ReplicationHandler” >
<lst name=”master”>
<str name=”replicateAfter”>optimize</str> ・・最適化されたらレプリケーション
<str name=”replicateAfter”>startup</str> ・・起動時にレプリケーション
<str name=”confFiles”>schema.xml,stopwords.txt</str>
</lst>
</requestHandler>
☆ スレーブ側
<requestHandler name=”/replication” class=”solr.ReplicationHandler” >
<lst name=”slave”>
<str name=”masterUrl”>http://マスタサーバ/solr/replication</str>
<str name=”pollInterval”>00:00:10</str>・・10秒に一回ポーリング
<str name=”httpConnTimeout”>5000</str>
<str name=”httpReadTimeout”>10000</str>
</lst>
</requestHandler>
ログ的には↓こんなんが出ます。
☆ マスタ側(レプリケーションのアクセスがきたよ)
Apr 16, 2010 8:38:54 PM org.apache.solr.core.SolrCore execute
INFO: [] webapp=/solr path=/replication params={command=indexversion&wt=javabin} status=0 QTime=0
☆ スレーブ側(ポーリングしてるよ)
Apr 16, 2010 8:36:20 PM org.apache.solr.handler.SnapPuller fetchLatestIndex
INFO: Slave in sync with master.
マスタにガンガンデータ突っ込んで、レプリケーションしてる状態で、
スレーブにガンガンJMeterのユーザーパラメータって前処理を使って、
幅広いバリエーションの検索パターンで負荷かけてみましたが、
(SolrのクエリキャッシュはOFFの状態で)
スループットへの影響は非常に低かったです。
技術評論社
売り上げランキング: 4461
検索エンジンに興味のある全ての知識レベルの方にお勧め
コメント