solr单机版和集群版搭建

   下面总结一下solr的相关概念及单机版和集群版的搭建过程:

   【概念】

   solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

   solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。solr 包装并扩展了 Lucene,所以solr的基本上沿用了Lucene的相关术语。更重要的是,solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对solr 进行适当的配置,某些情况下可能需要进行编码,solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用solr 创建的索引。Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

   solr的主要特性有:灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

   【单机版搭建】

    第一步:需要先上传jdk和tomcat到服务器,并解压安装

    第二步:上传solr到服务器,并解压

    solr单机版和集群版搭建_第1张图片

   第三步:把dist/solr-4.10.3.war(该war包为solr服务器)部署到tomcat下,即将solr-4.10.3.war复制到/usr/local/solr/tomcat/webapps/下并重命名为solr.war

    solr单机版和集群版搭建_第2张图片

    第四步:解压缩solr.war包,启动tomcat即可解压war,启动命令:bin/startup.sh

    solr单机版和集群版搭建_第3张图片

    第五步:需要把/root/solr-4.10.3/example/lib/ext目录下的所有的jar包添加到solr工程中。

    solr单机版和集群版搭建_第4张图片

    第六步:创建solrhome。把/root/solr-4.10.3/example/solr文件夹复制一份作为solrhome

    solr单机版和集群版搭建_第5张图片

    第七步:告诉solr服务solrhome的位置。需要修改web.xml

    solr单机版和集群版搭建_第6张图片

    第八步:启动tomcat

    

    solr单机版单机完成,在浏览器中访问http://192.168.25.133:8080/solr,即可访问solr

solr单机版和集群版搭建_第7张图片

    【集群搭建】

    在单机版的基础上搭建集群版,这里只是伪集群

    第一步:在/usr/local下新建文件夹solr-cloud,并在solrcloud下复制四份单机版时使用的tomcat,分别修改其端口号不能冲突。这里设置四个tomcat端口号为:8080~8083

    solr单机版和集群版搭建_第8张图片

    修改每个tomcat下的conf/server.xml文件的port:需要修改三个地方

    solr单机版和集群版搭建_第9张图片

    第二步:向tomcat下部署solr。把单机版的solr(/usr/local/solr/tomcat/webapps)工程复制到tomcat4个实例下即可。

    solr单机版和集群版搭建_第10张图片

    第三步:为每个solr实例创建一solrhome。把单机版的solrhome复制四份

    solr单机版和集群版搭建_第11张图片

    第四步:为每个solr实例关联对应的solrhome。修改web.xml

    solr单机版和集群版搭建_第12张图片

    第五步:修改每个solrhome下的solr.xml文件。修改host、hostPort两个属性。分别是对应的ip及端口号

    solr单机版和集群版搭建_第13张图片

    第六步:把配置文件上传到zookeeper。zookeeper集群搭建看这里

    把/usr/local/solr-cloud/solrhome01/collection1/conf目录上传到zookeeper。(前提:需要zookeeper集群已经启动。)

    solr单机版和集群版搭建_第14张图片

    具体执行命令:./zkcli.sh -zkhost 192.168.25.133:2181,192.168.25.133:2182,192.168.25.133:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf

    

    第七步:查看是否上传成功,使用zookeeper的zkCli.sh命令

    solr单机版和集群版搭建_第15张图片

    第八步:告诉solr实例zookeeper的位置。需要修改tomcat的catalina.sh添加JAVA_OPTS="DzkHost=192.168.25.133:2181,192.168.25.133:2182,192.168.25.133:2183"

    solr单机版和集群版搭建_第16张图片

    分别修改tomcat01,tomcat02,tomcat03,tomcat04的catalina.sh

    solr单机版和集群版搭建_第17张图片

    第九步:启动每个solr实例,可以编写统一启动solr的启动文件:

    solr单机版和集群版搭建_第18张图片

   可以通过:命令tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out查看tomcat启动日志

   现在便可以访问solr集群:

 solr单机版和集群版搭建_第19张图片

   第十步:集群分片

   将集群分为两片,每片两个副本,访问此链接即可完成分片:

         http://192.168.25.133:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

   分片成功:

   solr单机版和集群版搭建_第20张图片

  solr单机版和集群版搭建_第21张图片

   第十一步:删除不用collection1

   http://192.168.25.133:8080/solr/admin/collections?action=DELETE&name=collection1

   solr单机版和集群版搭建_第22张图片

   删除成功:

 solr单机版和集群版搭建_第23张图片

   【小结】

   SolrCloud是基于solr和zookeeper的分布式搜索方案,所有需要搭建solr集群和zookeeper集群,这篇博客只是讲了一下solr集群的搭建,之后会讲一下solrCloud的具体实现。

    

你可能感兴趣的:(JAVA项目,solr,集群)