`
邓斯林玟
  • 浏览: 25558 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

solr分布式配置之索引复制(原创)

阅读更多

solr的索引复制:将索引从主服务器上复制到多个服务器上.
索引复制原因:当有很多个客户并发访问某Solr服务器,这可能会导致Solr服务器崩溃(Solr服务器性能达不到这些客户并发访问的需求),这时就需要通过solr索引复制来减少对服务器的性能要求。
下面介绍一下主从服务器的最简单配置(如下配置在项目中已经通过验证):
我的环境:solr master(10.148.73.83), solr slave(10.148.74.72), jdk 1.6.0_13, master(apache-tomcat-6.0.28), slave(apache-tomcat-6.0.29), apache-solr-3.6.0
先将solr与tomcat进行整合,可以参考solr3.6与tomcat的整合
配置主服务器solr Master(10.148.73.83), 在solrconfig.xml中增加以下内容

<requestHandler name="/replication" class="solr.ReplicationHandler" >  
	<lst name="master">  
		<str name="replicateAfter">commit</str> 
		<str name="replicateAfter">optimize</str>
		<str name="backupAfter">optimize</str>
		<int name="numberToKeep">2</int>
		<str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str>  			
		<str name="commitReserveDuration">00:00:30</str> 
		<str name="httpBasicAuthUser">admin</str>  
		<str name="httpBasicAuthPassword">admin</str>
	</lst>  
</requestHandler>

replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup', 'optimize',该值可以填多个
backupAfter:SOLR会自行在以下操作行为发生后执行备份索引: 'commit', 'startup', 'optimize',该值可以填多个
numberToKeep:指定备份多少份文件,默认值为 MAX_VALUE
confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。

commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为30秒。


配置从服务器solr slave(10.148.74.72), 在solrconfig.xml中增加以下内容

<requestHandler name="/replication" class="solr.ReplicationHandler" >  
    <lst name="slave">  
        <str name="masterUrl">http://10.148.73.83:8080/solr/replication</str>     
        <str name="pollInterval">00:00:30</str> 
		<!-- 以下参数不常用,非必填参数-->
        <str name="compression">internal</str>
        <str name="httpConnTimeout">100000</str>  
        <str name="httpReadTimeout">1000000</str> 
		<str name="httpBasicAuthUser">admin</str>  
        <str name="httpBasicAuthPassword">admin</str>
     </lst>  
</requestHandler>

masterUrl : 主索引的url,该从索引将从这个主索引地址同步索引
pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器,格式为HH:mm:ss . 如果该设置为空从索引将不会主动从主索引同步索引.另外拉取索引的请求也可以通过 admin 页面或者 http api 来触发
compression:在索引传输过程中使用压缩,可选的值有两个 internal 和 external
如果值是 'external' 请确保主索引的solr已经设置了accept-encoding header
如果值是 'internal' 索引数据将被自动压缩,这个主要在低带宽情况下使用,局域网中请不要使用,局域网中使用会降低复制效率
httpConnTimeout:设置连接超时(单位:毫秒)
httpReadTimeout:设置读取超时,如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
httpBasicAuthUser:验证用户名,需要和主服务器一致

httpBasicAuthPassword:验证密码,需和主服务器一致

注:从服务器可以有多个,多个从服务器的配置相同

至此solr的索引复制的配置工作就完成了。现在可以启动两个服务器,通过http://10.148.73.83:8080/solr/admin/replication/查看到主服务器的复制页面的控制页面


通过http://10.148.74.72:8080/solr/admin/replication/查看到从服务器的复制页面的控制页面


分享到:
评论

相关推荐

    solr 分布式参考

    **一、Solr分布式架构** 1. **SolrCloud模式**: Solr的分布式特性主要体现在SolrCloud模式中,这是一个基于Zookeeper协调的集群解决方案。每个Solr实例被称为一个Solr节点,多个节点组成了SolrCloud。Zookeeper用于...

    Solr 学习笔记(五)-Solr扩展之分布式索引实例

    在本篇Solr学习笔记中,我们将探讨Solr的分布式索引功能,这对于处理大量数据和实现高可用性至关重要。Solr的分布式索引能力允许我们跨越多个节点分布和处理索引过程,从而提高索引速度和查询性能。在实际应用中,这...

    solr 分布式部署

    Solr分布式部署的目标主要有两个: 1. **主辅服务器同步**:确保每当客户端对索引进行COMMIT操作时,更新能够及时地应用到辅助服务器上。这提供了高可用性和数据一致性,即使主服务器出现问题,辅助服务器也能无缝...

    56 solrCloud分布式搜索与索引过程

    - **Sharding**:索引被分成多个shard(分片),每个shard都是完整索引的一部分,可以复制到不同的节点上,这样既实现了数据的水平扩展也提高了系统的可用性。 - **Replication**:为了提高容错能力,每个shard...

    hbase+solr创建二级索引完整操作

    ### hbase+solr创建二级索引完整操作 #### 一、概述 本文档详细介绍了如何利用HBase和Solr创建二级索引的过程。通过整合HBase与Solr的优势,可以构建高性能的数据存储与检索系统。HBase作为分布式列族数据库,能够...

    分布式索引系统配置文件<设想一>

    常见的分布式索引系统有Elasticsearch、Hadoop HBase、Apache Solr等。这些系统通常采用分片(Sharding)和副本(Replicas)策略来确保数据的可用性和高并发性能。 配置文件是任何复杂系统的核心部分,它定义了系统...

    Solr入门配置说明

    Solr的强大之处在于它的灵活性和可扩展性,支持分布式搜索、实时索引、多语言处理等特性。通过配置不同的字段类型和查询解析器,可以满足各种复杂的搜索需求。此外,SolrCloud模式还允许在集群环境中实现高可用性和...

    基于solr的网站索引架构(一)

    Solr支持分布式部署,可以将索引分布在多台服务器上,实现水平扩展。通过Sharding和Replication,可以实现负载均衡和数据冗余,提高系统的可用性和性能。 8. **优化与调优**: 在实际应用中,我们需要不断优化索引...

    图解Solr5.3.1与MySQL配置【原创】

    **Schema** 是Solr的核心配置之一,它定义了索引结构、字段类型以及索引时的一些特殊处理逻辑。在`[solrhome]/test/conf`目录下创建或修改`schema.xml`文件,以确保Solr能够正确解析并索引来自MySQL的数据。 - **...

    跟益达学Solr5之批量索引JSON数据

    Solr支持多种数据源的索引,包括JSON,XML,CSV等,使得在分布式环境中处理大规模数据变得简单易行。 二、JSON数据格式 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    Solr安装与配置

    Solr 是一个基于 Lucene 的开源搜索引擎,提供了一个分布式、可扩展、易用且功能强大的全文检索服务。本文将详细介绍如何进行 Solr 的安装与配置。 首先,安装 Solr 需要先确保你的系统已经安装了 Java Development...

    基于Solr的分布式全文检索系统的研究与实现.pdf

    Solr能够通过其索引处理模块,在多台计算机节点上并行创建索引,显著提升了索引的构建速度,这对于分布式全文检索系统至关重要。 分布式设计是提高系统检索性能的关键所在。本文提出了使用Zookeeper来管理集群的...

    HBase分布式二级索引通用方案研究.pdf

    SolrCloud是一个基于Solr的分布式搜索解决方案,它在内部实现了分布式索引机制,可以实现对HBase中数据的高效搜索。在文章提到的方案中,SolrCloud不仅作为一个分布式索引器,用于创建和存储索引,还负责处理多条件...

    solr6配置mmseg4j

    Solr是一个基于Apache Lucene的搜索服务器,它提供了一个分布式、可扩展、高可用性的全文检索平台。在Solr中,中文分词是影响搜索质量和效率的关键因素,因为搜索引擎需要将用户的查询与索引中的文档进行匹配,而...

    solr3.5配置

    Solr 的强大之处在于其可定制性,可以根据实际需求调整配置,如自定义字段类型、分析器以及查询处理,以满足复杂的企业搜索需求。同时,Solr 还支持集群部署,能够处理大规模的数据并提供分布式搜索能力,确保系统的...

    Solr配置安装(一)

    Schema是Solr的核心配置,定义了索引的数据模型,包括字段类型、字段和查询解析器等。在Solr 5及更高版本中,可以使用Schema API动态修改Schema。也可以在`solrconfig.xml`和`schema.xml`文件中手动编辑。 7. **...

    solr创建索引的原理及解析

    在Solr中,索引的构建与查询是非常核心的功能之一。 #### 二、Solr创建索引的过程 Solr的索引创建过程主要由`SolrDispatchFilter`处理。当接收到客户端的索引创建请求时,会调用`SolrCore`的`execute`方法进行处理...

    跟益达学Solr5之索引网络上远程文件

    在Solr5中,我们可以通过配置和插件来实现对远程文件的索引,这对于处理网络上的大量非结构化数据尤为实用。 1. **配置远程文件系统(如FTP或HTTP)**:Solr支持通过插件集成多种文件系统,如FTP和HTTP,以便直接...

Global site tag (gtag.js) - Google Analytics