`
ssxxjjii
  • 浏览: 928606 次
  • 性别: 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

分享到:
评论

相关推荐

    solr4.9+tomcat+zookeeper集群

    solr4.9+tomcat+zookeeper集群

    solr-zookeeper-tomcat集群搭建

    NULL 博文链接:https://pipe-line.iteye.com/blog/2254990

    ZooKeeper实例 + Solr(tomcat)集群部署

    ZooKeeper实例 + Solr(tomcat)集群部署

    solr7.2.0 jdk1.8 tomcat8 部署

    solr7.2.0在tomcat8中的部署,http://blog.csdn.net/m0_37044606/article/details/79153211

    solrcold与zk集群

    关于solr4.3solrcloud与zk+tomcat6.x集群,详细描述。

    全文搜索引擎Solr与ElasticSearch入门至集群及项目实战(Solr+ES)

    4、Solr应用部署至Tomcat服务器 5、Solr后台管理界面介绍 6、通过managed-schema配置Field以及中文分词器 7、将数据库中的数据导入至Solr索引库 8、通过Solr后台管理界面对索引进行CRUD高亮过滤排序分页 9、通过...

    Lucene全文检索框架+Solr+ElasticSearch搜索引擎(Java高级必备.ES)

    3、Solr应用部署至Tomcat服务器 4、Solr后台管理界面介绍 5、通过managed-schema配置Field以及中文分词器 6、将数据库中的数据导入至Solr索引库 7、通过Solr后台管理界面对索引进行CRUD高亮过滤排序分页 8、...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ 13.solr集群的搭建.avi │ 13_solr集群搭建.wmv │ 14_搜索服务切换到集群版.wmv │ 15.课后作业-索引库商品同步.avi │ 15_商品同步作业.wmv │ 打开必读.txt │ 淘淘商城第八天笔记.docx │ ├─09.第九天 │ ...

    Java微服务架构l零从基础到精通高清视频教程全套 163课

    021安装 Tomcat 022安装 MySQL 023部署项目 第3章 Docker实战开发 042设置镜像标签 024Docker 简介 025Docker 功能特点 026Docker 系统架构 027Docker 安装 028第一个 Docker 应用程序 029运行交互式的容器 030...

    Java微服务架构163课

    021安装 Tomcat 022安装 MySQL 023部署项目 第3章 Docker实战开发 042设置镜像标签 024Docker 简介 025Docker 功能特点 026Docker 系统架构 027Docker 安装 028第一个 Docker 应用程序 029运行交互式...

    基于ssm实现的电子商城系统+源代码+文档说明

    solr/solrCloud实现商品搜索功能,solrJ的使用 freemarker页面静态化,提高访问速度 sso单点登陆系统,避免tomcat集群seesion共享带来的集群数量限制问题 基于redis的购物车系统 &lt;项目介绍&gt; 该资源内项目源码是个人...

    JavaEE软件工程师简历

    熟悉Java编程,有良好的算法和编码能力,熟悉面向对象编程 ... 熟悉Springmvc,Spring,MyBatis,了解Struts2, Hibernate等开源框架 熟练使用Eclipse、SVN、Maven项目...掌握solr集群搭建及solrJ集群版的Java接口应用

    t淘淘商城项目 商城项目 视频和源码教程 详细

    Ø 高并发、集群、负载均衡、高可用 Ø 海量数据 Ø 业务复杂 Ø 系统安全 2. 淘淘商城 2.1. 淘淘商城简介 淘淘网上商城是一个综合性的B2C平台,类似京东商城、天猫商城。会员可以在商城浏览商品、下...

    基于SSM框架的Java电商项目源码+数据库+项目说明.zip

    - 技术架构 (集群和分布式架构的区别) - 工程搭建 (maven) - SSM框架的整合 - Mybatis逆向工程以及使用 - 日志的添加与使用 - 拦截器 - 后端功能 (系统的开发,图片系统,数据等等) - 前端功能 (商品浏览,下...

    单点登录源码

    Solr & Elasticsearch | 分布式全文搜索引擎 | [http://lucene.apache.org/solr/](http://lucene.apache.org/solr/) [https://www.elastic.co/](https://www.elastic.co/) Quartz | 作业调度框架 | ...

    JavaEE大型分布式电商项目 淘淘商城 29期

    淘淘商城是一个综合性的B2C平台,类似与京东、天猫商城,其打造的是商业模式为“社区+电子商务”, 用户不只是在社区中有自己的圈子,还可以将电商加入到社区中,整个电商...拔高--Redis集群、Tomcat优化、MySQL优化

    x01-lang-java

    Memcached)/ 分布式消息中间件: ActiveMQ、 RabbitMQ、RocketMQ/ 分布式RPC框架: Dubbo(SOA服务治理)/ 集群部署: Nginx集群、Tomcat集群、Redis集群、Solr全文搜索引擎/ 大数据相关: Zookeeper集群(协调...

    基于ssm+mysql的分布式电商系统(前后台+订单管理+门户)源码+项目说明.zip

    FastDFS (图片服务器),tomcat(web服务器),zookeeper(集群管理),mysql(数据库) Junit(测试) ### 技术栈: spring,springmvc,mybatis(框架) solr(搜索服务),redis(缓存),easyUI(后台系统页面) ### 数据库...

    基于SSM框架的Java电商项目

    solr EasyUI UEditor JQuery Freemark activMQ httpClient MySQL FastDFS ... 开发环境 InteliJ IDEA Maven Tomcat7 JDK Nginx Git postman sqlyog win7 ... 计划 技术架构 (集群和分布式架构的区别) 工程搭建 ...

Global site tag (gtag.js) - Google Analytics