参考朋友chenlb的文章:http://www.iteye.com/topic/211807,谢谢!
solr的复制功能可以把创建索引和search分离开来,可以像一台主服务器发送http请求创建索引,创建完了,利用linux crontab定时功能,实现向多台索引服务器的replicate。实现索引的同步。
要在solr里配置索引段位2个,这样每次都是事复制最新新增加的索引过去,而不是全部。索引复合文件配置设置为false。
solr的分发是用rsync的。
快照与分发过程:
1.snapshooter 命令在主服务器产生快照。一般在commit和optimize之后被solr调用。
2.snappuller 命令在从服务器运行,所做的事是从主服务器拉最新的快照。 用rsync的daemon模式来运行可以获得更好的性能与更底的CPU利用率。
3.snapinstaller 命令在从服务器运行,当从服务器从主服务器拉完快照后才执行。它会通知本地Solr服务器打开一个新的index reader,然后预热这个新index reader的缓存,此时有请求,原来的index reader继续为这此请求服务。一但预热完成,Solr 启用新的index reader,旧的被消亡。
配置如下:
1.安装好jdk,tomcat,solr。主服务器ip为:10.0.8.9,索引服务器为10.0.8.5,两机器要实现ssh无密码交互。
2.配置Scripts文件里记录。放在solrHome/conf/scripts.conf文件里。
//主服务器上的配置
user=root
solr_hostname=10.0.8.9
solr_port=8080
rsyncd_port=18983
data_dir=/data1/server
webapp_name=solr
master_host=10.0.8.9
master_data_dir=/data1/server
master_status_dir=/data1/solrLog
//索引服务器上的配置
user=root
solr_hostname=10.0.8.5
solr_port=8080
rsyncd_port=18983
data_dir=/data1/slave/
webapp_name=solr
master_host=10.0.8.9
master_data_dir=/data1/server
master_status_dir=/data1/solrLog
3.配置好后,分别启动tomcat,加载solr。
4.在主服务器上启用且启动rsync:
./rsyncd-enable -u root -v
./rsyncd-start -u root -v
//此时用netstat -tnlp 查看端口号,发现18933端口已经启动
5.向主服务器里添加几个Document,创建索引。
6.在主服务器上产生快照
./snapshooter -u root -v
7.在搜索服务器上下拉快照,安装快照:
./snappuller-enable -u root -v
./snappuller -u root -v
./snapinstaller -u root -v
8.可以再2台机器上同时搜索,现在数据应都是相同的。
分享到:
相关推荐
### Solr 4.7 服务搭建详细指南 #### 一、环境准备 为了搭建 Solr 4.7 服务,我们需要确保以下环境已经准备好: ...通过以上步骤,用户可以成功搭建并配置好 Solr 4.7 服务,实现高效的数据索引和搜索功能。
- **复制与恢复**:Solr支持主从复制,确保数据的一致性和高可用性。 3. **源码结构** 解压后的源码包`solr-9.0.0`包含了以下几个关键部分: - `server`: 存放Solr服务器端代码,如SolrJetty容器、管理API等。 ...
7. **CloudSolrClient**:在SolrCloud模式下,应用通常使用CloudSolrClient与Solr集群通信,它可以自动处理数据路由和复制,确保高可用性和数据一致性。 8. **Faceting**:Solr提供分面搜索功能,允许用户通过分类...
复制 solr-4.10.3\example\solr 文件夹到本地的一个目录,并将文件名改为 solrhome。 3. 打开 SolrHome 目录。 4. SolrCore 创建成功。 - **配置 SolrCore** - **solrconfig.xml**:配置 SolrCore 实例的相关...
- 创建一个 Solr 服务所需的目录结构,通常在 `/opt` 或 `/usr/local` 目录下创建一个 `solr` 目录,并将解压的 Solr 文件移动或复制进去。 3. **部署到 Tomcat**: - 确保你的系统已经安装了 Apache Tomcat,这...
此外,SolrCloud 功能使得 Solr 具备分布式搜索和集群管理能力,支持数据的自动复制和故障恢复,增强了系统的可用性和可扩展性。 总的来说,Solr 是一个功能丰富的全文搜索引擎,能够有效地解决大规模数据的搜索和...
1. **Apache Solr**:Solr是一个开源的企业级全文搜索引擎,它提供了高效、可扩展的搜索和分析功能。它支持多种数据源,可以处理大量结构化和非结构化数据,提供快速的全文搜索、近实时搜索、富文本处理、地理位置...
9. 将 `solr-4.10.4\example\lib\ext` 目录下的所有 jar 包复制到 Tomcat 的 `webapps\solr\WEB-INF\lib` 目录。 10. 在 `WEB-INF` 目录下创建 `classes` 文件夹,并将 `log4j.properties` 文件从 Solr 示例资源...
Solr基于Apache Lucene,它提供了更高级的功能,如集群、分布式搜索、复制和负载均衡,使得Solr更适合大规模、高并发的搜索应用。 1.2.2 Schema(模式) Schema是Solr的核心配置之一,用于定义索引字段、数据类型...
- Solr是Java开发的搜索引擎服务器,它集成了Lucene库,提供了丰富的功能,如层面搜索、命中醒目显示和多种输出格式支持(XML、XSLT、JSON等)。 - 安装和配置过程简单,内置HTTP管理界面,便于管理和维护。 - ...
例如,可以将示例配置集 sample_techproducts_configs 中的 conf 文件夹复制到新的核心目录下,然后通过 Solr Admin 页面的 Core Admin 功能创建核心。 在 Solr 中配置分词器是提升搜索质量的关键步骤。例如,对于...
3. 部署WAR包:将解压后的solr.war文件复制到已安装的Tomcat或其他Servlet容器的webapps目录下。启动Tomcat,Solr会自动解压并部署。 4. 创建核心(Core):Solr中的每个独立索引被称为一个核心,你可以通过管理...
3. **复制Solr WAR文件**: 将`solr-4.9.1.war`文件复制到Tomcat的`webapps`目录下,并重命名为`solr.war`。 4. **复制必要的JAR包**: 复制`solr-4.9.1\example\lib\ext`目录下的所有JAR文件到Tomcat的`lib`目录下。...
标题“solr与tomcat整合”涉及的是将Apache Solr搜索引擎集成到Apache Tomcat应用服务器的过程。Solr是一款基于Lucene...这使得开发者能够在Web应用程序中利用Solr的强大搜索功能,同时支持中文查询,提高了用户体验。
Solr的可扩展性体现在它支持分布式搜索和索引复制,这使得它成为大数据环境下的理想选择。 #### 二、Lucene与Solr的关系 Lucene是一个基于Java的全文检索工具包,它并不直接提供完整的搜索应用,而是作为构建块,...
ES(ElasticSearch)和Solr都是基于Lucene的搜索引擎,它们各自提供了一套搜索框架,用于实现高效的全文搜索功能。由于两者都是在Apache License 2下开源的,因此在选择使用哪种搜索方案时,需要根据不同的使用场景...
2. 将Solr复制到Tomcat的webapps目录下,如`C:\Program Files\apache-tomcat-7.0.53\webapps`,重命名为`solr`。 3. 修改Tomcat的`server.xml`文件,添加Solr的Context配置,通常位于`<Host>`标签内: ```xml ...
- **contrib**:存放 Solr 的一些插件和扩展程序,用于增强 Solr 的功能。 - **dist**:包含编译生成的 WAR 和 JAR 文件,以及相关的依赖文件。 - **docs**:存放 Solr 的 API 文档。 - **example**:示例目录,其中...