LoginSignup
3
3

More than 5 years have passed since last update.

Solrの設定ファイルをレプリケーションして、本番稼働中のリリース手順を簡単にする

Posted at

本番稼働中のSolrのスキーマを変更する手順書を作りながら、「向き先変えたりとかいろいろ面倒だなぁ」ってグチったところ、「それ、レプリケーションできるみたいよ」という話を聞いたので試してみました。

構成

サーバ構成としてはだいたいこんな感じです。

[master]----[slave1] <---[AP1][AP2]
        +---[slave2] <---[AP3]

Solrは4.10.3でスレーブが2台。
APは3台あって、AP1とAP2がslave1を参照。AP3がslave2を参照している状態。
レプリケーションしてくれるならマスターのスキーマ変更して再起動して、スレーブ向いてるAPをマスターに向けてスレーブの設定変更して再起動して・・・という面倒な手順を踏まなくてよくなります。

マスター側の設定

マスター側の設定は以下のようにしました。

solrconfig.xml
<requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" >
  <lst name="master">
    <str name="replicateAfter">commit</str>
    <str name="replicateAfter">startup</str>
    <str name="replicateAfter">optimize</str>
    <str name="confFiles">schema.xml,data-config.xml</str>
  </lst>
</requestHandler>

これでSolr再起動。

スレーブ側の設定

スレーブ側の設定は特にいじってません。

レプリケーションされることを確認

マスター側のschema.xmlとdata-config.xmlにフィールドを追加して、Solr再起動。
そしてフルインポートをかけたところ無事にスレーブ側のschema.xmlとdata-config.xmlにも設定が反映され、インデックスも無事に作られました。

ああ、これで面倒な手順を踏むことなく設定が変えられる!!知ってよかった!!

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3