轉(zhuǎn)載
鏈接:
https://www.cnblogs.com/1315925303zxz/p/6372004.html?utm_source=itdadao&utm_medium=referral
Solrcloud介紹:
SolrCloud(solr集群)是Solr提供的分布式搜索方案。
當你需要大規(guī)模惭聂,容錯窗声,分布式索引和檢索能力時使用SolrCloud。
當索引量很大彼妻,搜索請求并發(fā)很高時嫌佑,同樣需要使用SolrCloud來滿足這些需求。
不過當一個系統(tǒng)的索引數(shù)據(jù)量少的時候是沒有必要使用SolrCloud的侨歉。
SolrCloud是基于Solr和Zookeeper的分布式搜索方案屋摇。它的主要思想是使用Zookeeper作為SolrCloud集群的配置信息中心,統(tǒng)一管理solrcloud的配置幽邓,比如solrconfig.xml和schema.xml炮温。
Solrcloud特點功能:
1)集中式的配置信息
2)自動容錯
3)近實時搜索
4)查詢時自動負載均衡
Solrcloud的結(jié)構(gòu):
solrcloud為了降低單機的處理壓力,需要由多臺服務器共同來完成索引和搜索任務牵舵。實現(xiàn)的思路是將索引數(shù)據(jù)進行Shard分片柒啤,每個分片由多臺服務器共同完成,當一個索引或搜索請求過來時會分別從不同的Shard的服務器中操作索引畸颅。solrcloud是基于solr和zookeeper部署担巩,zookeeper是一個集群管理軟件,solrcloud需要由多臺solr服務器組成没炒,然后由zookeeper來進行協(xié)調(diào)管理涛癌。
由于solrcloud一般都是解決大數(shù)據(jù)量、大并發(fā)的搜索服務送火,所以搭建solrcloud之前拳话,首先需要搭建zookeeper注冊中心集群。
1)种吸、搭建zookeeper集群步驟:需要三臺zookeeper弃衍、分別是zk1、zk2坚俗、zk3镜盯,對應的端口分別為2281、2282猖败、2283形耗。
第一步:安裝jdk環(huán)境,因為zookeeper是使用Java語言編寫的辙浑;
第二步:準備zookeeper-3.4.6.tar.gz壓縮包激涤,解壓并修改目錄名稱為zk1
第三步:進入zk1/conf目錄,將zoo_sample.cfg文件名稱改為zoo.cfg
第四步:修改zoo.cfg文件判呕,配置集群信息(倆個截圖信息都是配置在zoo.cfg文件中)
第五步:在dataDir(對應zoo.cfg配置文件中的目錄結(jié)構(gòu))目錄下創(chuàng)建myid文件倦踢,文件內(nèi)容為1,對應server.1中的1侠草。
第六步:拷貝zk1辱挥,復制兩個目錄zk2、zk3边涕。并修改zoo.cfg和myid兩個文件晤碘。
第七步:編寫倆個腳本文件褂微,分別啟動zookeeper集群和查看集群中各個服務的狀態(tài)
?2)、搭建solrcloud集群步驟:
第一步:復制4個單機版solr服務對應的tomcat园爷,并分別修改端口為:8280宠蚂、8380、8480童社、8580求厕。
第二步:復制4個solrhome,分別為solrhome8280扰楼、solrhome8380呀癣、solrhome8480、solrhome8580弦赖。一個solr實例對應一個solrhome项栏。
第三步:修改每個solr服務對應的Tomcat容器中solr項目的web.xml文件中的內(nèi)容(目錄結(jié)構(gòu)為/usr/local/solrcloud/tomcat8280/webapps/solr/WEB-INF)
第四步:修改每個solrhome下的solr.xml,指定對應solr服務的tomcat的ip和端口蹬竖。
第五步:設置tomcat的啟動參數(shù)忘嫉,在每個tomcat目錄下的bin/catalina.sh,添加以下內(nèi)容:
第六步:將solr配置文件上傳到zookeeper中案腺,進行統(tǒng)一管理庆冕,進入到/root/soft/solr-4.10.3/example/scripts/cloud-scripts目錄中執(zhí)行zkcli.sh命令:
./zkcli.sh ? -zkhost ? 192.168.136.135:2281,192.168.136.135:2282,192.168.136.135:2283 ? -cmdupconfig ??-confdir ? /usr/local/solrcloud/solrhome8280/collection1/conf ? -confname ? myconf(每個ip地址之間用逗號分隔)
第七步:編寫腳本文件啟動所有的solr服務
第八步:訪問部署的solr集群中任意的端口服務