既然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. hdu-1016素数环

    这个题就是给出一个数字n,表示有n个数.编号为1~n. 然后要求我们将这n个数连起来变成一个环,要求随意两个数相加所得值必须为素数. 假设满足条件就将这个环输出来! 这个题:dfs+回溯+推断.然后注 ...

  2. 基于WEB 的认证防火墙的设计

    项目要求: 1.  采用Linux iptbles作为接入防火墙,默认放行所以访问入口的80端口 2.  访问者通过http://x.x.x.x 访问防火墙的认证系统,进行账号的登陆操作,同时系统对用 ...

  3. hdu1505(dp求最大子矩阵)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1505 分析: 这题是HDU 1506 的加强版,定义一个二维数组,d[i][j]表示第i行j列元素在前 ...

  4. 安装了VS2010 sp1 后再安装ASP.NET MVC 3.0的问题(Final Result: Installation failed with error code: (0x80070643), "安装时发生严重错误 " (Ela)

    原文:安装了VS2010 sp1 后再安装ASP.NET MVC 3.0的问题(Final Result: Installation failed with error code: (0x800706 ...

  5. 【Java】运用JDBC实现一个注册、登录系统的编写

    数据库的建立 首先,建立一个数据库,存储注册成功的账户信息. 其SQL的DDL语句如下: CREATE TABLE `jdbctest` ( `id` int(10) NOT NULL auto_in ...

  6. Mina框架断包、粘包问题解决方式

    Mina框架断包.粘包问题解决方式 Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(当然.也能够提供JAVA 对象的序 ...

  7. Macosx Setdns

    通过C语言接口在Mac App内部对系统的DNS配置进行改动. Mac OS X设置DNS代码 演示样例代码setDNS.c内容例如以下: #include <SystemConfigurati ...

  8. 用KnockoutJS实现ToDoMVC代码分析

    体验地址 Knockout 版todo web app在线体验 http://todomvc.com/examples/knockoutjs/ 源码地址 项目源码地址,此地址包含了各种JS框架实现的t ...

  9. 一步一步学android之事件篇——触摸事件

    触摸事件顾名思义就是触摸手机屏幕触发的事件,当用户触摸添加了触摸事件的View时,就是执行OnTouch()方法进行处理,下面通过一个动态获取坐标的例子来学习OnTouchListener事件,效果如 ...

  10. Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明)

    一.隐藏和显示元素 $('#button_save_12').css('display', 'none'); // 隐藏按钮 $('#button_save_12').css('display', ' ...