`
邓斯林玟
  • 浏览: 24342 次
  • 性别: 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扩展之分布式索引实例

    原始数据,用来建立索引 博文链接:https://kylinsoong.iteye.com/blog/712704

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

    Solr集群搭建,Solr提供的分布式搜索方案

    Solr集群搭建:Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用...

    SOLR的应用教程

    1.6 分布式和复制 Solr 架构 13 2 Solr的安装与配置 13 2.1 在Tomcat下Solr安装 13 2.1.1 安装准备 13 2.1.2 安装过程 14 2.1.3 验证安装 15 2.2 中文分词配置 15 2.2.1 mmseg4j 15 2.2.2 paoding 19 2.3 多核...

    Hbase 二级索引方案

    通过这种方式实现的全局、分布式索引. 成为了其成功的最大的砝码。 然而单一的通过 RowKey 检索数据的方式,不再满足更多的需求,查询成为 Hbase 的瓶颈,人 们更加希望像 Sql 一样快速检索数据,可是,Hbase 之前...

    solr 5.5.5

    solr是将整个索引操作功能封装好了的搜索引擎系统(企业级搜索引擎产品) ,可以部署到单独的服务器上(WEB服务),它可以提供服务,我们的业务系统就只要发送请求...solr支持分布式集群,索引服务的容量和能力可以线性扩展

    基于Solr的分布式实时搜索模型研究与实现

    本文提出了一种基于 Solr 的分布式实时搜索模型,分析了其实现原理。模型通过内存索引与磁盘索引相结合保证索引信息的实时展示,同时引入CommitLog 日志保证内存索引数据容灾,并通过Master/Slave 模型保证搜索服务...

    apache solr1.3.0开发包源码及文档

    Apache Solr 1.3.0发布,Apache Solr是一个性能强大的,基于 Lucene 的全文搜索的 开源企业级搜索服务器,拥有XML/HTTP,JSON APIs,hit highlighting, ...新的DataImportHandler提供简易方式索引数据库内容进入Solr

    Solr构建分布式搜索+面试题讲解

    本课程共分26节,内容包括solr概述,文档的导入删除和修改,修改大启动时间和默认时区,主要配置文件详解,solrcore详解与使用,mysql数据导入索引库,定时任务,中文分词,solrcloud创建和使用,路由规则,负载均衡...

    SolrCloud集群搭建教程

    SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时...

    solrcloud的sql引擎solr-sql.zip

    solr-sql是针对solrcloud封装的sql... SolrCloud是基于ZooKeeper和Solr的分布式解决方案,为Solr添加分布式功能,用于建立高可用,高伸缩,自动容错,分布式索引,分布式查询的Solr服务器集群。 标签:solrsql

    Solr全攻略

    为了提高查询速度和处理更多的文档,Solr可以通过索引分片来实现分布式查询。为了提高吞吐量和容错能力,可以为每个索引分片增加副本,同时,把所有的索引复制到其他的服务器搭建成一个服务器集群,提高吞吐量。可通

    apache solr1.3.0所有最新开发包及源码及文档

    ——为了更容易索引数据库内容到Solr,建立新的DataImportHandler。 关于Apache Solr: Solr是一个基于Lucene Java搜索库的开源企业搜索服务器,拥有XML/HTTP和JSON APIs,点击高亮显示,多侧面搜索,缓存,复制...

    使用Python操作Elasticsearch数据索引的教程

    Elasticsearch是一个分布式、Restful的搜索及分析服务器,Apache Solr一样,它也是基于Lucence的索引服务器,但我认为Elasticsearch对比Solr的优点在于: 轻量级:安装启动方便,下载文件之后一条命令就可以启动; ...

    solr 应用全面解析.rar

    solr 应用全面解析,简单的应用,多实例,分布式索引分发 ,以数据库为数据源建立索引

    Window与Linux下搭建SolrCloud分布式集群环境

    Window与Linux下搭建SolrCloud分布式集群环境 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以...

    docker-solr:用于Solr的Docker构建,用于管理官方Docker Hub solr映像

    Apache Solr具有高度的可靠性,可扩展性和容错性,可提供分布式索引,复制和负载平衡查询,自动故障转移和恢复,集中式配置等。 Solr为许多世界上最大的互联网站点提供搜索和导航功能。 在和《 了解更多信息。 ...

    开源企业搜索引擎Solr的应用教程.doc

    适合于对数据库驱动的应用数据进行索引,尤其是替代传统的like ‘%expression%’来实现对varchar或clob等字段的索引,对于实现站内搜索是一种值得采纳的方案。但在分布式处理、接口封装上尚需要自己进行一定程度的...

    Mining Solr in Action最新英文版本pdf

    无任何solr基础的人都会很容易从入门成长为高手,同时,该书穿插大量实例,覆盖solr4.7的方方面面,包括高级篇,如搜索性能优化,搜索结果缓存,索引分片,分布式搜索等,几乎面面俱到,是一本非常好的solr学习教程...

    自己动手写搜索引擎(罗刚著).doc

    8.1.1 Solr服务器端的配置与中文支持 232 8.1.2 把数据放进Solr 237 8.1.3 删除数据 240 8.1.4 客户端搜索界面 241 8.1.5 Solr索引库的查找 242 8.1.6 索引分发 246 8.1.7 Solr搜索优化 246 8.1.8 Solr中字词混合...

Global site tag (gtag.js) - Google Analytics