SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。
以下讲解具体操作步骤:
步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。
主服务器:
在solrConfig.xml中,找到以下行:
<requestHandler name="/replication" class="solr.ReplicationHandler" >
-
<requestHandler name=
"/replication"
class
=
"solr.ReplicationHandler"
>
-
<lst name="master"
>
-
<str name="replicateAfter"
>commit</str>
-
-
<str name="confFiles"
>schema.xml,stopwords.txt,elevate.xml</str>
-
-
<str name="commitReserveDuration"
>00:05:00</str>
-
<str name="httpBasicAuthUser"
>123</str>
-
<str name="httpBasicAuthPassword"
>123</str>
-
-
-
</lst>
-
</requestHandler>
说明:
- replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup' 'optimize',这里我们选择commit , 即SOLR每一次接受到commit请求后,会执行复制策略。
- confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
- commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为5分钟。
从服务器
-
<requestHandler name=
"/replication"
class
=
"solr.ReplicationHandler"
>
-
<lst name="slave"
>
-
-
<str name="masterUrl"
>http:
-
-
<str name="pollInterval"
>00:05:00</str>
-
-
<str name="compression"
>
internal
</str>
-
-
<str name="httpConnTimeout"
>5000</str>
-
<str name="httpReadTimeout"
>10000</str>
-
-
-
<str name="httpBasicAuthUser"
>123</str>
-
<str name="httpBasicAuthPassword"
>123</str>
-
-
</lst>
-
</requestHandler>
说明:
- masterUrl : 主服务器同步URL地址
- pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器
- httpConnTimeout:设置连接超时(单位:毫秒)
- httpReadTimeout:如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
- httpBasicAuthUser:验证用户名,需要和主服务器一致
- httpBasicAuthPassword:验证密码,需和主服务器一致
- compression:external or internal 使用SOLR自己的压缩算法或应用容器的
区别:
内部算法会大大提高同步成本,原话: USE THIS ONLY IF YOUR BANDWIDTH IS LOW . THIS CAN ACTUALLY SLOWDOWN REPLICATION IN A LAN。
因此建议使用外部方式即: external .
同时需要配置外部应用容器: 以TOMCAT为例:
-
<Connector compression=
"on"
-
compressableMimeType="text/html,text/xml,text/plain"
-
compressionMinSize="2048"
/>
分享到:
相关推荐
在本文中,我们将深入探讨如何实现Solr的分布式部署,包括需求、步骤、配置以及执行分发脚本。 首先,理解分布式部署的需求是至关重要的。Solr分布式部署的目标主要有两个: 1. **主辅服务器同步**:确保每当...
在分布式环境下,Solr能够实现横向扩展,以处理更大规模的数据和更高的并发请求。 **一、Solr分布式架构** 1. **SolrCloud模式**: Solr的分布式特性主要体现在SolrCloud模式中,这是一个基于Zookeeper协调的集群...
### ZooKeeper实例与Solr(tomcat)集群部署详解 #### 一、部署背景与目的 在大数据处理和搜索引擎技术领域,ZooKeeper与Solr是两个不可或缺的技术组件。ZooKeeper作为分布式协调服务,提供了高可用性以及一致性保证...
对于Tomcat部署方式,同样是从Apache官网获取Solr 5.5.4,解压后将`solr-webapp`目录复制到Tomcat的`webapps`目录下并重命名为`solr`。将必要的jar文件和配置文件移动到Tomcat的相应目录。在`solr_home`目录下创建...
在本文中,我们将探讨如何在 Linux 环境下部署、维护和调优 Solr 4.4 版本。 首先,为了运行 Solr,我们需要先安装 Java 开发工具包(JDK)。这里我们选择了 JDK 1.7。使用 rpm 命令安装 JDK 1.7,并通过编辑 `/etc...
Solr 安装部署文档 Solr 是一个基于 Lucene 的搜索服务器,提供了强大的全文搜索功能。下面是基于 Solr 5.5.5 的安装部署文档,包含 Solr 导入 Oracle 数据库的步骤。 Solr 安装部署 1. 下载 Solr 5.5.5,地址:...
在生产环境中,为了提高可用性和性能,通常会选择分布式部署,利用SolrCloud实现自动复制和负载均衡。部署过程中,你需要设置Zookeeper集群来协调Solr实例之间的通信。 开发Solr应用程序时,可以使用HTTP接口与Solr...
Solr安装部署攻略 在大数据和云计算的时代,全文检索服务成为了数据检索的重要工具。Apache Solr,作为一款高效、可扩展的开源全文检索服务器,被广泛应用于各类信息搜索场景。本教程将指导你如何安装并部署Solr ...
Solr服务器是一款强大的开源搜索引擎,由Apache软件基金会开发,它基于Java并支持分布式搜索和处理大量数据。在Linux和Windows环境下部署Solr服务器是常见的需求,这两种操作系统各有其特点和优势。 **Linux环境下...
- **WAR包部署**:将`solr.war`复制到Tomcat的`webapps`目录下,即`D:\tomcat5\webapps`。 - **自动解压**:启动Tomcat后,会自动解压该WAR包生成`solr`目录。 ##### 3. Tomcat配置 - **Server.xml配置**: - **...
"Solr单机部署" Solr是一个全文检索服务器,它基于Lucene实现,Solr只需要进行配置就可以实现全文检索服务。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。 1....
### 56 solrCloud分布式搜索与索引过程 #### 知识点一:SolrCloud简介 在深入了解SolrCloud的分布式搜索与索引过程之前,我们需要对SolrCloud有一个基本的认识。SolrCloud是Apache Solr的一个扩展模块,它提供了一...
本指南将详细介绍如何进行Solr的单机部署和集群部署,帮助你轻松构建Solr环境。 ### 1. 单机 Solr 部署 #### 1.1 安装前提 在开始安装前,确保你已经安装了Java运行环境(JRE)和Java开发工具集(JDK),因为Solr...
centos7 环境 安装docker 并在docker 中部署solr 并使用
部署 Solr 7 时,用户需要解压这两个主要的 tar.gz 文件,将 Solr 解压后的目录复制到 Tomcat 的 webapps 目录下,然后根据“web.xml”和“solrhome:conf”中的配置进行调整。启动 Tomcat,Solr 将会在指定的端口上...
本文的研究针对这一问题,通过设计并实现了一个基于Solr的分布式全文检索系统,有效解决了传统系统在处理大规模数据时的瓶颈问题。 系统采用网络爬虫技术,负责从互联网上抓取网页信息。这些信息被保存为文本文件,...