如果一臺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文件中指定,當沒有配置相應的變量時,就使用冒號(:)後面的值。