你的位置:首页 > Java教程

[Java教程]Solr主从集群配置简要说明


  关于solr的集群主要分为主从和SolrCloud两种。主从,比较适合以读为主的场景。SolrCloud适合数据量大,时不时会有更新的情形。那么solr的主从配置很简单。在solrconfig.

 <requestHandler name="/replication" >   <!--    To enable simple master/slave replication, uncomment one of the    sections below, depending on whether this solr instance should be    the "master" or a "slave". If this instance is a "slave" you will    also need to fill in the masterUrl to point to a real machine.  -->    <lst name="master">     <str name="replicateAfter">commit</str>     <str name="replicateAfter">startup</str>     <str name="confFiles">schema.

  

master 标志该core 为主节点。复制的行为发生在commit、startup之后。cofFiles表示,向从节点复制的配置文件(记住,主从的solrconfig.
  再看看slave节点的配置,slave配置很简单,把上面的配置文件中master那段注释掉。把slave那段放开即可。将masterUrl换成master的url,格式:http://your-master-host:port/solr/your_core_name。具体配置如下:
<requestHandler name="/replication" >   <!--    To enable simple master/slave replication, uncomment one of the    sections below, depending on whether this solr instance should be    the "master" or a "slave". If this instance is a "slave" you will    also need to fill in the masterUrl to point to a real machine.  -->  <!--    <lst name="master">     <str name="replicateAfter">commit</str>     <str name="replicateAfter">startup</str>     <str name="confFiles">schema.

  

pollInterval 表示多久向master同步一次数据,数据格式{时}:{分}:{秒}。这个要根据你的业务场景。如果更新比较频繁,就把这个值调小点,反之,就调大些。在同步数据时,根据网络和机器配置等不同,slave之间的数据会存在不同步的情况。如果,你对此有要求,需要注意了。总之,任何一种集群方案都不是万能的。solr的主从模式目前存在诸多问题,比如:主节点有单点故障等等,希望后续的版本会有些改进。