Solr4.6主从同步配置

Linux大全评论526 views阅读模式

今天在两台不同的测试服务器上搭建了solr4.6的服务器。验证两台solr启动正常之后,参照solr的wiki的主从配置方案进行主从配置,这是solr的wiki上给出的主从同步方案:http://wiki.apache.org/solr/SolrReplication

solr的主从同步是按core进行配置的,每个core的solrconfig.xml都需要进行主从的配置。

主节点的core下面的solrconfig.xml的配置:

<requestHandler name="/replication" class="solr.ReplicationHandler" >
      <lst name="master">
              <str name="replicateAfter">commit</str>
              <str name="replicateAfter">startup</str>

              <str name="confFiles">schema.xml</str>
      </lst>
  </requestHandler>

这个配置的意思是,一旦服务器重启,或者有数据commit的时候,就会进行同步。

从节点的core下面的solrconfig.xml的配置:

<requestHandler name="/replication" class="solr.ReplicationHandler" >
    <lst name="slave">
        <str name="masterUrl">http://10.28.175.246:8080/solr/waiter</str>
        <str name="pollInterval">00:00:20</str>
    </lst>
 </requestHandler>

配置的意思是说,轮训拉取主节点更新日志的时间是20秒,拉取的地址是http://10.28.175.246:8080/solr,同步的core是waiter。

重启两台solr。现在进行主从同步的验证。

在主节点上通过页面进行添加数据:

Solr4.6主从同步配置

问题出现了,通过页面上添加的数据,无法同步到从节点!在页面上添加了多条数据,都未同步到从节点。只有当主节点重启的时候,从节点才有数据过来。

查各种配置问题,查网上各种资料,不得其解!

于是,我改用代码的方式在主节点提交数据,测试了增加数据和删除数据,并且在这些代码之后,调用了commit()方法。然后发现主从同步很正常!此时一把鼻涕一把泪。代码调用正常我就放心了。

初步判断用solr4.6管理页面添加的数据,solr服务器本身没有调用commit()方法。我只能说solr的管理界面很坑爹。

Solr 的详细介绍:请点这里
Solr 的下载地址:请点这里

相关阅读:

Solr3.6.1 在Tomcat6下的环境搭建 http://www.linuxidc.com/Linux/2013-01/77664.htm

基于Tomcat的Solr3.5集群部署 http://www.linuxidc.com/Linux/2012-12/75297.htm

在Linux上使用Nginx为Solr集群做负载均衡 http://www.linuxidc.com/Linux/2012-12/75257.htm

Linux下安装使用Solr http://www.linuxidc.com/Linux/2012-10/72029.htm

在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4 http://www.linuxidc.com/Linux/2012-09/71158.htm

Solr实现Low Level查询解析(QParser) http://www.linuxidc.com/Linux/2012-05/59755.htm

基于Solr 3.5搭建搜索服务器 http://www.linuxidc.com/Linux/2012-05/59743.htm

企鹅博客
  • 本文由 发表于 2019年9月11日 17:18:51
  • 转载请务必保留本文链接:https://www.qieseo.com/160329.html

发表评论