既然solr是解决大量数据全文索引的方案,因为高并发的问题,我们就要考虑solr的负载均衡了,solr提供很easy的主从复制的配置方法,那么以下我们就来配置一下solr的主从复制

如果我们在192.168.0.8与192.168.0.9两台server上部署了solr服务,192.168.0.8作为主server,192.168.0.9作为从server,

首先配置主server找到C:\Program Files\Apache Software Foundation\Tomcat 7.0\solr\collection1\conf(solr核心collection1安装路径)下的solrconfig.xml 文件

在该文件下找到<requestHandler name="/replication" class="solr.ReplicationHandler" >节点,默认是凝视的,改为:

<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="master">
<!-- master上有数据写入时,触发commit操作。slave就会发起一次同步请求-->
<str name="replicateAfter">commit</str>
<!-- startup參数不影响同步请求-->
<str name="replicateAfter">startup</str>
<!-- master触发optimize操作,slave就会发起一次同步请求-->
<str name="replicateAfter">optimize</str>
<!-- 除了索引同步外,一些配置文件的同步,默认是在conf文件夹下 -->
<str name="confFiles">schema.xml,mapping-ISOLatin1Accent.txt,protwords.txt,stopwords.txt,synonyms.txt,elevate.xml</str>
</lst> </requestHandler>

參数含义:

  • replicateAfter : SOLR会自行在下面操作行为发生后运行复制: 'commit', 'startup' 'optimize',这里我们选择commit , 即SOLR每一次接受到commit请求后,会运行复制策略。

  • confFiles : 待分发的配置文件。solr 也会将主server上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅server上。
  • commitReserveDuration: 每次commit之后。保留增量索引的周期时间,这里设置为5分钟。

接下来配置从server

还是同一个文件下的那个节点

<requestHandler name="/replication" class="solr.ReplicationHandler" > 

       <lst name="slave">
<!-- masterUrl代表主机的solr路径。假设存在多个core时,地址写http://localhost:9001/solr/(core名) 就可以 -->
<str name="masterUrl">http://192.168.0.8/solr/collection1</str>
<!-- 同步时间间隔10秒一次 -->
<str name="pollInterval">00:00:10</str>
</lst> </requestHandler>

參数说明:

  • masterUrl : 主server同步URL地址
  • pollInterval:从server同步间隔,即每隔多长时间同步一次主server
  • httpConnTimeout:设置连接超时(单位:毫秒)
  • httpReadTimeout:假设设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
  • httpBasicAuthUser:验证username。须要和主server一致
  • httpBasicAuthPassword:验证password。需和主server一致
  • compression:external or internal 使用SOLR自己的压缩算法或应用容器的

最后别忘了重新启动两台solrserver,这种配置完毕,solr支持多个从server

版权声明:本文博客原创文章。博客,未经同意,不得转载。

solr与.net课程(七)solr主从复制的更多相关文章

  1. solr与.net系列课程(七)solr主从复制

    solr与.net系列课程(七)solr主从复制    既然solr是解决大量数据全文索引的方案,由于高并发的问题,我们就要考虑solr的负载均衡了,solr提供非常简单的主从复制的配置方法,那么下面 ...

  2. solr与.net系列课程(八)solr中重跑索引的注意事项

    solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务器中,solr有两种操作一种是新建索引,一种是增量索引,这里我们来 ...

  3. solr与.net系列课程(六)solr定时增量索引与安全

     solr与.net系列课程(六)solr定时增量索引与安全 solr增量索引的方式,就是一个Http请求,但是这样的请求显然不能满足要求,我们需要的是一个自动的增量索引,solr官方提供了一个定时器 ...

  4. solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据

    solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据 上一节我们完成了solr连接数据库,细心的朋友会发现一个问题,就是solr其实和语言没有任何关系,配置完成后任何语 ...

  5. solr与.net系列课程(三)solr连接数据库

     solr与.net系列课程(三)solr连接数据库 上一章直接讲述的配置文件把大部分人看的很迷惑,大家都想听的是solr到底是怎么用的,好,这一节我们就开始链接数据库,首先讲一下连接之前都要配置哪些 ...

  6. solr与.net系列课程(二)solr的配置文件及其含义

    solr与.net系列课程(二)solr的配置文件及其含义  本节内容还是不会涉及到.net与数据库的内容,但是不要着急,这都是学时solr必学要掌握的东西,solr可不是像其他的dll文件一样,只需 ...

  7. Solr初始化源码分析-Solr初始化与启动

    用solr做项目已经有一年有余,但都是使用层面,只是利用solr现有机制,修改参数,然后监控调优,从没有对solr进行源码级别的研究.但是,最近手头的一个项目,让我感觉必须把solrn内部原理和扩展机 ...

  8. Solr学习02:搭建Solr环境

    一.安装虚拟机 Solr 必须运行在Java1.6 或更高版本的Java 虚拟机中,运行标准Solr 服务只需要安装JRE 即可,但如果需要扩展功能或编译源码则需要下载JDK 来完成.可以通过下面的地 ...

  9. solr之windws下搭建solr服务

    安装Solr 首先保证已经正确安装了Java 下载Solr,当前最新版6.1.0 Solr各个版本下载地址 Solr从6.0之后需要Java1.8所以如果使用Solr6.0及其以上版本,请确保Java ...

随机推荐

  1. 在qt中用tcp传输xml消息

    在qt中用tcp传输xml消息 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:Qt5 3.1.2 说明: 在tcp上 ...

  2. 使用Visual Studio 创建新的Web Part项目

    使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之中的一个.它是平台构建的核心基块. 1. 管理员身份打开Visual St ...

  3. VSTO之旅系列(二):创建Excel解决方案

    原文:VSTO之旅系列(二):创建Excel解决方案 本专题概要 引言 创建VSTO项目 Excel对象模型 创建Excel外接程序 创建Excel文档级自定义项 小结 一.引言 也许很多朋友都没有听 ...

  4. 对Kalman(卡尔曼)滤波器的理解

    1.简单介绍(Brief Introduction) 在学习卡尔曼滤波器之前,首先看看为什么叫"卡尔曼". 跟其它著名的理论(比如傅立叶变换.泰勒级数等等)一样.卡尔曼也是一个人的 ...

  5. oracle instr函数

    语法:instr( fatherstr, sonstr [, start_position [, matchtimes ] ] ) fatherstr:父字符串.要在此字符串中查找子字符串的位置. s ...

  6. 4、深入理解Bean

    本节知识点: 1. Bean 的自己主动装配(了解) 2. bean 之间的关系:继承:依赖 3.Bean 的作用域:能够在 <bean> 元素的 scope 属性里设置 Bean 的作用 ...

  7. 通过YAJL生成json语句

    这里主要介绍的是怎样通过yajl生成一个json语句.方法通过代码就能够非常清楚的看到了,只是这里仅仅加入了字符串. 假设须要加入其它类型的,能够查考yajl的手冊,调用其它函数进行加入. /* * ...

  8. PostgreSQL服务端监听设置及client连接方法

    背景介绍: PostgreSQL服务端执行在RedHat Linux上,IP为:192.168.230.128 client安装在Windows XP上, IP为:192.168.230.1 配置方法 ...

  9. struts2第一个程序的详解(配图)

    首先我们在struts2中要写上一个action <packagename="fish"namespace="/test"extends="st ...

  10. Effective C++:条款28:避免返回 handles 指向对象内部成员

    (一) 有时候为了让一个对象尽量小,能够把数据放在另外一个辅助的struct中,然后再让一个类去指向它.看以下的代码: class Point { public: Point(int x, int y ...