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分布式架构** 1. **SolrCloud模式**: Solr的分布式特性主要体现在SolrCloud模式中,这是一个基于Zookeeper协调的集群解决方案。每个Solr实例被称为一个Solr节点,多个节点组成了SolrCloud。Zookeeper用于...
在本篇Solr学习笔记中,我们将探讨Solr的分布式索引功能,这对于处理大量数据和实现高可用性至关重要。Solr的分布式索引能力允许我们跨越多个节点分布和处理索引过程,从而提高索引速度和查询性能。在实际应用中,这...
Solr分布式部署的目标主要有两个: 1. **主辅服务器同步**:确保每当客户端对索引进行COMMIT操作时,更新能够及时地应用到辅助服务器上。这提供了高可用性和数据一致性,即使主服务器出现问题,辅助服务器也能无缝...
- **Sharding**:索引被分成多个shard(分片),每个shard都是完整索引的一部分,可以复制到不同的节点上,这样既实现了数据的水平扩展也提高了系统的可用性。 - **Replication**:为了提高容错能力,每个shard...
### hbase+solr创建二级索引完整操作 #### 一、概述 本文档详细介绍了如何利用HBase和Solr创建二级索引的过程。通过整合HBase与Solr的优势,可以构建高性能的数据存储与检索系统。HBase作为分布式列族数据库,能够...
常见的分布式索引系统有Elasticsearch、Hadoop HBase、Apache Solr等。这些系统通常采用分片(Sharding)和副本(Replicas)策略来确保数据的可用性和高并发性能。 配置文件是任何复杂系统的核心部分,它定义了系统...
Solr的强大之处在于它的灵活性和可扩展性,支持分布式搜索、实时索引、多语言处理等特性。通过配置不同的字段类型和查询解析器,可以满足各种复杂的搜索需求。此外,SolrCloud模式还允许在集群环境中实现高可用性和...
Solr支持分布式部署,可以将索引分布在多台服务器上,实现水平扩展。通过Sharding和Replication,可以实现负载均衡和数据冗余,提高系统的可用性和性能。 8. **优化与调优**: 在实际应用中,我们需要不断优化索引...
**Schema** 是Solr的核心配置之一,它定义了索引结构、字段类型以及索引时的一些特殊处理逻辑。在`[solrhome]/test/conf`目录下创建或修改`schema.xml`文件,以确保Solr能够正确解析并索引来自MySQL的数据。 - **...
Solr支持多种数据源的索引,包括JSON,XML,CSV等,使得在分布式环境中处理大规模数据变得简单易行。 二、JSON数据格式 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...
Solr 是一个基于 Lucene 的开源搜索引擎,提供了一个分布式、可扩展、易用且功能强大的全文检索服务。本文将详细介绍如何进行 Solr 的安装与配置。 首先,安装 Solr 需要先确保你的系统已经安装了 Java Development...
Solr能够通过其索引处理模块,在多台计算机节点上并行创建索引,显著提升了索引的构建速度,这对于分布式全文检索系统至关重要。 分布式设计是提高系统检索性能的关键所在。本文提出了使用Zookeeper来管理集群的...
SolrCloud是一个基于Solr的分布式搜索解决方案,它在内部实现了分布式索引机制,可以实现对HBase中数据的高效搜索。在文章提到的方案中,SolrCloud不仅作为一个分布式索引器,用于创建和存储索引,还负责处理多条件...
Solr是一个基于Apache Lucene的搜索服务器,它提供了一个分布式、可扩展、高可用性的全文检索平台。在Solr中,中文分词是影响搜索质量和效率的关键因素,因为搜索引擎需要将用户的查询与索引中的文档进行匹配,而...
Solr 的强大之处在于其可定制性,可以根据实际需求调整配置,如自定义字段类型、分析器以及查询处理,以满足复杂的企业搜索需求。同时,Solr 还支持集群部署,能够处理大规模的数据并提供分布式搜索能力,确保系统的...
Schema是Solr的核心配置,定义了索引的数据模型,包括字段类型、字段和查询解析器等。在Solr 5及更高版本中,可以使用Schema API动态修改Schema。也可以在`solrconfig.xml`和`schema.xml`文件中手动编辑。 7. **...
在Solr中,索引的构建与查询是非常核心的功能之一。 #### 二、Solr创建索引的过程 Solr的索引创建过程主要由`SolrDispatchFilter`处理。当接收到客户端的索引创建请求时,会调用`SolrCore`的`execute`方法进行处理...
在Solr5中,我们可以通过配置和插件来实现对远程文件的索引,这对于处理网络上的大量非结构化数据尤为实用。 1. **配置远程文件系统(如FTP或HTTP)**:Solr支持通过插件集成多种文件系统,如FTP和HTTP,以便直接...