如果一台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文件中指定,当没有配置相应的变量时,就使用冒号(:)后面的值。