分布式搜索之搭建Solrcloud(Solr集群)


Solrcloud介紹:

  SolrCloud(solr集群)Solr提供的分布式搜索方案

  當你需要大規模,容錯,分布式索引和檢索能力時使用SolrCloud。

  當索引量很大,搜索請求並發很高時,同樣需要使用SolrCloud來滿足這些需求。

  不過當一個系統的索引數據量少的時候是沒有必要使用SolrCloud的。

  SolrCloud是基於Solr和Zookeeper的分布式搜索方案。它的主要思想是使用Zookeeper作為SolrCloud集群的配置信息中心,統一管理solrcloud的配置,比如solrconfig.xml和schema.xml。

Solrcloud特點功能:

  1)集中式的配置信息

  2)自動容錯

  3)近實時搜索

  4)查詢時自動負載均衡

Solrcloud的結構:

  solrcloud為了降低單機的處理壓力,需要由多台服務器共同來完成索引和搜索任務實現的思路是將索引數據進行Shard分片,每個分片由多台服務器共同完成,當一個索引或搜索請求過來時會分別從不同的Shard的服務器中操作索引solrcloud是基於solr和zookeeper部署,zookeeper是一個集群管理軟件,solrcloud需要由多台solr服務器組成,然后由zookeeper來進行協調管理。

 

由於solrcloud一般都是解決大數據量、大並發的搜索服務,所以搭建solrcloud之前,首先需要搭建zookeeper注冊中心集群。

1)、搭建zookeeper集群步驟:需要三台zookeeper、分別是zk1、zk2、zk3,對應的端口分別為2281、2282、2283。

第一步:安裝jdk環境,因為zookeeper是使用Java語言編寫的;

第二步:准備zookeeper-3.4.6.tar.gz壓縮包,解壓並修改目錄名稱為zk1

第三步:進入zk1/conf目錄,zoo_sample.cfg文件名稱改為zoo.cfg

第四步:修改zoo.cfg文件,配置集群信息(倆個截圖信息都是配置在zoo.cfg文件中)

第五步:dataDir(對應zoo.cfg配置文件中的目錄結構)目錄下創建myid文件,文件內容為1,對應server.1中的1。

第六步:拷貝zk1,復制兩個目錄zk2、zk3。並修改zoo.cfg和myid兩個文件。

第七步:編寫倆個腳本文件,分別啟動zookeeper集群和查看集群中各個服務的狀態。

 

 2)、搭建solrcloud集群步驟:

第一步:復制4個單機版solr服務對應的tomcat,並分別修改端口為:8280、8380、8480、8580。

第二步:復制4個solrhome,分別為solrhome8280、solrhome8380、solrhome8480、solrhome8580。一個solr實例對應一個solrhome。

 

第三步:修改每個solr服務對應的Tomcat容器中solr項目的web.xml文件中的內容(目錄結構為/usr/local/solrcloud/tomcat8280/webapps/solr/WEB-INF)

第四步:修改每個solrhome下的solr.xml,指定對應solr服務的tomcatip和端口。

第五步:設置tomcat的啟動參數,在每個tomcat目錄下的bin/catalina.sh,添加以下內容:

第六步:將solr配置文件上傳到zookeeper中,進行統一管理,進入到/root/soft/solr-4.10.3/example/scripts/cloud-scripts目錄中執行zkcli.sh命令

./zkcli.sh   -zkhost   192.168.136.135:2281,192.168.136.135:2282,192.168.136.135:2283   -cmd   upconfig   -confdir   /usr/local/solrcloud/solrhome8280/collection1/conf   -confname   myconf(每個ip地址之間用逗號分隔)

第七步:編寫腳本文件啟動所有的solr服務

第八步:訪問部署的solr集群中任意的端口服務

第九步:solrcloud搭建完畢。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM