`
ssxxjjii
  • 浏览: 951053 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

solr安装-tomcat+solrCloud构建稳健solr集群

    博客分类:
  • solr
 
阅读更多

http://blog.csdn.net/xyls12345/article/details/27504965

solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建;使用外部web容器tomcat来搭建。对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用tomcat来搭建solrCloud。

 

废话不多说,开始我们的工作!

1.搭建tomcat单机版solr

见我的上一篇博文solr安装-tomcat单机版

2.安装配置zookeeper

具体下载,安装,配置不详细说了,很简单。只列出我的关键配置项,如下:

clientPort=4181

server.2=hadoop.datanode5.com:2888:9888

server.3=hadoop.datanode2.com:2888:9888
server.1=hadoop.datanode3.com:2888:9888

3. 配置solrCloud

(1)先配置主服务器tomcat 10.2.50.46

vim /usr/apache-tomcat-7.0.54/bin/catalina.sh   在图片所示位置加入以下代码

JAVA_OPTS="$JAVA_OPTS -Dbootstrap_confdir=/usr/solr/collection1/conf -Dcollection.configName=myconf -DzkHost=hadoop.datanode2.com:4181,hadoop.datanode3.com:4181,hadoop.datanode5.com:4181"

注:其中DzkHost是用来指定zookeeper服务器的ip和端口。 confdir目录指定所有的索引库都从collection1索引库中同步字段

 

(2)配置从服务器tomcat 10.2.50.28 和10.2.50.52

vim /home/tomcat/bin/catalina.sh 在和上图同样的位置加入

JAVA_OPTS="-DzkHost=hadoop.datanode2.com:4181,hadoop.datanode3.com:4181,hadoop.datanode5.com:4181"

(3)配置solr collection配置文件

/usr/solr/solr.xml:配置hostport为tomcat的服务端口;配置zkHhost。

 

<solr><solrcloud><strname="host">${host:}</str><intname="hostPort">8080</int><strname="hostContext">${hostContext:solr}</str><intname="zkClientTimeout">${zkClientTimeout:15000}</int><boolname="genericCoreNodeNames">${genericCoreNodeNames:true}</bool><strname="zkHost">hadoop.datanode2.com:4181,hadoop.datanode3.com:4181,hadoop.datanode5.com:4181</str></solrcloud><shardHandlerFactoryname="shardHandlerFactory"class="HttpShardHandlerFactory"><intname="socketTimeout">${socketTimeout:0}</int><intname="connTimeout">${connTimeout:0}</int></shardHandlerFactory></solr>

/usr/solr/collection1/core.properties:删除该文件(这样集群启动后就没有collection)

 

/usr/solr/collection1/conf/solrconfig.xml:修改如下配置项:

<dataDir>${solr.data.dir:/data_solr/example-collection}</dataDir>

 

将所有的这些配置同步到各个节点上。

(3) 保存后依次启动tomcat,输入http://10.2.50.46:8080,看到如下界面说明成功


正常情况下,应该是没有collection和core的,我这里是自己创建了一个collection。

(4)创建collection,shard,core

有两种方式:一种是创建collection,自动分配shard和replica;另一种是创建collection,手动分配shard和replica。推荐后者,因为可控性强。

方式一:

curl 'http://localhost:7070/solr/admin/collections?action=CREATE&name=europe-collection&numShards=3&replicationFactor=3&maxShardsPerNode=3'

这样会出来一个collection,它有3个shard,每个shard有1个数据节点,2个备份节点,即该collection共有9个core

缺点:不灵活,不能选择适合的节点,不能选择数据存放路径,不能选择实例存放路径

方式二:

curl 'http://localhost:8080/solr/admin/cores?action=CREATE&name=cz_collection-shard1-replica1&instanceDir=/usr/solr/cz_collection-shard1-replica1&dataDir=/data_solr/cz_collection-shard1-replica1&collection=cz_collection&shard=shard1'

curl 'http://localhost:8080/solr/admin/cores?action=CREATE&name=cz_collection-shard1-replica2&instanceDir=/usr/solr/cz_collection-shard1-replica2&dataDir=/data_solr/cz_collection-shard1-replica2&collection=cz_collection&shard=shard1'

这样可以创建出一个collection,并自己指定该collection的shard和replica的所有配置项。还可以继续接着创建。

以上两种方式的具体api调用,请参看solr官方文档。

(5)集群运维

a.集群会发生变化的就是collection的配置,因此当collection的配置文件发生变化后就应该使用命令更新zookeeper中配置文件信息,solr很好提供了运维工具:

#collection配置
#将配置文件上传到ZooKeeper中
java -classpath .:/usr/solr/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost hadoop.datanode2.com:4181,hadoop.datanode3.com:4181,hadoop.datanode5.com:4181 -confdir /usr/solr/collection1/conf -confname myconf
#将上传到ZooKeeper中配置文件与Collection相关联
java -classpath .:/usr/solr/lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection cz_collection -confname myconf -zkhost hadoop.datanode2.com:4181,hadoop.datanode3.com:4181,hadoop.datanode5.com:4181

b.对于collection,shard,core运维使用api接口即可,在此不说了。

ok,大功告成微笑!抽时间自己也写个类似solrCloud的东西玩玩!

 

参考文章:

http://myjeeva.com/solrcloud-cluster-single-collection-deployment.html#deploying-solrcloud

 

http://wiki.apache.org/solr/SolrCloudTomcat

http://wiki.apache.org/solr/SolrTomcat

http://blog.csdn.net/woshiwanxin102213/article/details/18793271

分享到:
评论

相关推荐

    solrCloud5.2.1 + tomcat7 + zookeeper3.4.6

    Zookeeper作为协调服务,负责管理Solr集群的状态信息,确保在节点故障时能够自动恢复和重新分配工作负载。 在实际应用中,你需要根据业务需求和硬件资源来决定Tomcat和Solr实例的数量,以及Zookeeper集群的规模。...

    Tomcat+solrcloud6.2整合Web项目

    本文将深入探讨如何在Tomcat服务器上整合SolrCloud6.2,构建一个高性能的Web搜索系统。 首先,我们需要理解SolrCloud的基本架构。SolrCloud通过ZooKeeper进行集群管理,ZooKeeper负责存储配置信息,协调节点间的...

    solr-zookeeper-tomcat集群搭建

    在Solr集群中,Zookeeper用于管理集群状态,如节点的加入、离开和故障检测。 1. 下载Zookeeper最新稳定版。 2. 解压到指定目录,例如:/opt/zookeeper。 3. 修改conf/zoo.cfg配置文件,设置dataDir和clientPort。 4...

    solr4.9+tomcat+zookeeper集群

    1. **Sharding**: Solr集群通过分片技术将大量数据分散到多个节点上,每个节点处理一部分数据,以提高查询性能和并发处理能力。 2. **Replication**: 为确保数据冗余和容错,Solr集群中的每个分片都有一个或多个副本...

    solr-4.9.0-安装部署文档

    【Solr 4.9.0 安装部署详解】 Apache Solr 是一款基于 Lucene 的开源搜索引擎,广泛用于企业级的数据检索、全文搜索和数据分析。本文将详细讲解如何在 Windows 7 64 位旗舰版上安装并部署 Solr 4.9.0 版本。 1. **...

    Solr4+SolrCloud安装使用手册和详细说明,参考官方文档整理.

    Solr 是一个基于 Lucene 的全文检索服务器,用于构建企业级搜索应用。SolrCloud 是 Solr 的分布式版本,提供高可用性和数据分区,通过 ZooKeeper 进行集群管理和协调。以下是对 SolrCloud 安装和使用进行的详细说明...

    solr-tomcat7

    Solr-Tomcat7 整合详解 在Java Web开发中,Apache Solr是一个非常流行的全文搜索引擎,它提供了高效、可扩展的搜索和分析功能。而Tomcat则是一款轻量级的应用服务器,常用于部署Java Servlet和JavaServer Pages...

    Tomcat上部署SolrCloud.txt

    本文详细介绍了如何在Tomcat服务器上部署SolrCloud,包括Zookeeper集群的搭建、Solr软件包的获取与配置、SolrCloud的部署流程等内容。这些步骤对于实际环境中部署和维护SolrCloud系统具有重要的参考价值。通过以上...

    Apache Solr(solr-8.11.1.tgz)

    在部署和使用Solr时,了解Solr的生命周期管理、集群配置、备份与恢复策略,以及如何监控和调整性能都是至关重要的。熟悉这些知识点,可以帮助你更好地利用Apache Solr构建高性能的企业级搜索解决方案。

    solr+tomcat项目

    Solr+Tomcat项目整合是将Apache Solr搜索引擎与Apache Tomcat应用服务器结合使用的过程,以便在Web环境中部署和运行Solr服务。Solr是一个基于Lucene的全文搜索服务器,而Tomcat则是一个轻量级Java应用服务器,常用于...

    solr集群安装部署

    【Solr集群安装部署】 Apache Solr 是一个流行的开源全文搜索引擎,它提供了高效、可扩展的搜索和分析功能。在企业级应用中,通常需要部署Solr集群来实现高可用性和数据分布,以处理大量的索引和查询请求。以下是...

    windows-solr集群.docx

    - 配置ZooKeeper集群以支持Solr集群的高可用性和数据一致性。 - 每个Solr节点都需要指向同一个ZooKeeper集群实例。 - **Linux环境下的Solr集群**: - 类似于Windows环境下的部署方式,但在Linux环境下通常更推荐...

    SolrCloud4.9.0+tomcat7+zookeeper-3.4.6搭建教程

    SolrCloud是Apache Lucene项目下的一个基于分布式搜索引擎,通过将多个Solr实例组合成一个集群,可以实现高可用性和高性能的搜索系统。Tomcat是Apache软件基金会的一个开源的Java Servlet容器,而Zookeeper是一个...

    solrCloud的集群部署

    这些Node构成了Solr集群的基础。 理解这些核心概念对于正确部署和管理SolrCloud集群至关重要。 **1.2 SolrCloud的路由机制** SolrCloud提供两种主要的路由算法: - **Composite ID路由**:这是一种一致性哈希...

    apache-tomcat-9.0.35-solr7.7.3.rar

    2. **创建Solr Web应用程序**:将Solr的`example\solr`目录复制到Tomcat的`webapps`目录下,重命名为`solr`,这样它会作为一个独立的Web应用被Tomcat管理。 3. **配置Solr核心**:在`solr\WEB-INF\solr.xml`中定义...

    zookeeper-solr集群

    Solr集群是Apache Solr的一种分布式部署方式,它允许用户在多台服务器上分布数据,以提高搜索性能和可用性。在本场景中,我们主要关注如何在Linux环境下搭建一个基于Zookeeper的SolrCloud集群。 首先,我们需要准备...

    solr6.1-scheduler1.2.jar

    此外,对于分布式Solr集群,这个定时工具可能还支持跨节点的协调,确保任务在整个集群中的同步执行。这在多节点环境下是非常必要的,因为它可以保证所有节点的索引状态保持一致,避免数据不一致的问题。 总的来说,...

    solr-4.4.0.tgz

    下面我们将详细探讨 Solr 4.4.0 版本的主要特点、安装步骤以及如何将其部署到 Tomcat 上。 1. **Solr 4.4.0 主要特性**: - **查询优化**:4.4.0 版本引入了对查询性能的优化,包括更高效的查询解析器和查询执行...

Global site tag (gtag.js) - Google Analytics