master-slave自動切換

如果一臺slave服務器同時還有備份master的功能,即當真正的master宕機時,此slave就充當master使用。一種將slave切換成master的方式是修改配置文件,另外還可以在配置文件中利用環境變量,啓動時由環境變量決定服務器本次的角色。

修改solrconfig.xml

<requestHandler name="/replication" class="solr.ReplicationHandler" >?
    <lst name="master">???
        <str name="enable">${enable.master:false}</str> ????
        <str name="replicateAfter">commit</str>???
        <str name="confFiles">schema.xml,stopwords.txt</str>
    </lst>

    <lst name="slave">???
        <str name="enable">${enable.slave:false}</str> ???
        <str name="masterUrl">http://master_host:8983/solr/replication</str>??
        <str name="pollInterval">00:00:60</str>
    </lst>
</requestHandler>

需要以主節點啓動時,在jvm的啓動參數中使用-Denable.master=true
需要以子節點啓動時,在jvm的啓動參數中使用-Denable.slave=true


也可以在solrcore.properties配置啓動參數
主節點啓動時,使用下面的配置
#solrcore.properties 啓動主節點
enable.master = true
enable.slave = false


以子節點啓動是,使用下面的配置
#solrcore.properties啓動子節點
enable.master = false
enable.slave = true

${enable.master:false}/${enable.slave:false}
引用變量,其中enable.master或enable.slave是變量名,可以從jvm啓動參數或properties文件中指定,當沒有配置相應的變量時,就使用冒號(:)後面的值。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章