2019独角兽企业重金招聘Python工程师标准>>>

solr查询量增加后,单服务器承受不了搜索压力是,需要多服务来支撑,Solr1.4后自己提供了复制机制ReplicationHandler。

ReplicationHandler是个RequestHandler,在solrconfig.xml配置ReplicationHandler即可使用。

Master配置

<requestHandler name="/replication" class="solr.ReplicationHandler" ><lst name="master"><!--什么时候出发同步,参数名replicateAfter,取值可以是startup commit optimize  --><str name="replicateAfter">startup</str><str name="replicateAfter">commit</str><!--数据备份 参数名backupAfter 同样可以似乎startup commit optimize --><!-- <str name="backupAfter">optimize</str> --><!--配置要同步的配置文件 --><str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str><!--提交同步时间间隔,默认是10秒,一般不用改动 --><str name="commitReserveDuration">00:00:10</str></lst>
</requestHandler>

Slave配置

<requestHandler name="/replication" class="solr.ReplicationHandler" ><lst name="slave"><!--主服务的同步地址--><str name="masterUrl">http://master_host:port/corename/replication</str>  <!--同步轮询的时间间隔,是应用还击而定 --><str name="pollInterval">00:00:20</str>  <str name="compression">internal</str><!--Http相关参数设置--><str name="httpConnTimeout">5000</str><str name="httpReadTimeout">10000</str><!-- 如果主服务设置认证,在此设置登录用户名密码 --><str name="httpBasicAuthUser">username</str><str name="httpBasicAuthPassword">password</str></lst>
</requestHandler>
Solr同步是通过Slave周期性轮询来检查Master的版本,如果Master有新版本,那么就开始同步复制。

1. Slave发出一个filelist命令来收集文件列表。这个命令将返回一系列元数据(size,lastmodified,alias等等)

2. Slave查看它本地是否有这些文件,然后它会开始下载缺失的文件(使用命令filecontent)。如果连接失败,则下载终止。它将重试5次,如果仍然失败则放弃。

3. 文件被下载到了一个临时目录。因此,下载中途出错不会影响到slave。

4. 一个commit命令被ReplicationHandler执行,然后新的索引被加载进来

solr同步复制就那么简单。

转载于:https://my.oschina.net/baowenke/blog/103146

Solr索引数据同步ReplicationHandler相关推荐

  1. Solr(搜索引擎服务)和MongoDB通过mongodb-connector进行数据同步的解决方案,以及遇到的各种坑的总结(针对solr-5.3.x版本),mongodb和solr实现实时增量索引

    Solr配置与MongoDB的安装 Solr安装配置到目前已经非常简单,参考官方文档:http://lucene.apache.org/solr/quickstart.html,官方文档中用的是clo ...

  2. solr与mysql数据同步的方案

    1.使用activeMQ http://blog.csdn.net/zhou2s_101216/article/details/77855413 2.通过配置实现定时同步 http://blog.cs ...

  3. 索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化

    索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化 索引使用的限制条件,sql优化有哪些 a,选取最适用的字段:在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设 ...

  4. camel 数据库_使用Camel在来自不同来源的Solr中索引数据

    camel 数据库 Apache Solr是建立在Lucene之上的"流行的,快速的开源企业搜索平台". 为了进行搜索(并查找结果),通常需要从不同的源(例如内容管理系统,关系数据 ...

  5. 使用Camel在来自不同来源的Solr中索引数据

    Apache Solr是建立在Lucene之上的"流行的,快速的开源企业搜索平台". 为了进行搜索(并查找结果),通常需要从不同的来源(例如内容管理系统,关系数据库,旧系统)中提取 ...

  6. solr mysql 自动同步_MongoDB和Solr的整合以及实现数据同步功能

    使用mongo-connector实现mongodb与solr数据同步: 1.solr搭建.这个我有记录,可以去找,这里不说了.(此次采用solr版本为4.7) 2.mongo搭建,要搭建集群,就是副 ...

  7. solr mysql_使用Solr索引MySQL数据

    环境搭建 2.解压到某个目录 3.cd into D:\Solr\solr-4.10.3\example 4.Execute the server by "java -jar startup ...

  8. json数据处理实战:Kafka+Flume+Morphline+Solr+Hue数据组合索引

    背景:Kafka消息总线的建成,使各个系统的数据得以在kafka节点中汇聚,接下来面临的任务是最大化数据的价值,让数据"慧"说话. 环境准备: Kafka服务器*3. CDH 5. ...

  9. 数据同步的终极解决方案,阿里巴巴开源的Canal框架当之无愧!!

    写在前面 在当今互联网行业,尤其是现在分布式.微服务开发环境下,为了提高搜索效率,以及搜索的精准度,会大量使用Redis.Memcached等NoSQL数据库,也会使用大量的Solr.Elastics ...

最新文章

  1. 2021美国科学天才奖发榜!16名华裔高中生入围「少年诺奖」
  2. php 函数导航,PHP经典分页导航函数
  3. Windows 10第四个大补丸来啦
  4. [原创]关于设置linux中vim 显示行号
  5. 更改oracle字符集为utf_oracle字符集AL16UTF16改为ZHS16GBK
  6. google protobuf windows下环境配置
  7. Android 实现计时器功能,Android实现倒计时30分钟功能
  8. IntelliJ IDEA 2018.2设置背景图片及透明度
  9. codeforces——961A Tetris
  10. JAVA读锁不使用效果一样_为什么Java的同步集合不使用读/写锁?
  11. MyBatis3教程
  12. HttpUtil 工具类
  13. 关于自定View的ViewGroup (嵌套View)
  14. 3D~RPG游戏的制作
  15. UE4母材质之法线贴图
  16. 在Linux系统中增加一块SCSI硬盘,重新启动计算机。
  17. Google 开源项目风格指南学习笔记——C++篇
  18. mysql 基础语法3
  19. Android 直播中弹幕、带货和键盘的交互
  20. 杂志风城市夜景PPT模板

热门文章

  1. Spring Boot第四篇:SpringBoot 整合JPA
  2. 基于深度学习的文本分类应用!
  3. 罗浩.ZJU | 如何看待 2020 届校招算法岗「爆炸」的情况?
  4. 7句话让Codex给我做了个小游戏,还是极简版塞尔达,一玩简直停不下来
  5. 60亿击败1750亿、验证胜过微调:OpenAI发现GPT-3解决数学题,并非参数越大越好...
  6. 全了!从Python入门到入魔
  7. Python 初学者常犯的5个错误,布尔型竟是整型的子类
  8. 穷清华,富北大,不要命的中科大,是什么意思?
  9. Spring基础专题——第三章(反转控制与依赖注入)
  10. Git单人本地仓库操作