一.什么是solrCloud?
SolrCoud(solr云)是solr提供的分布式搜索方案。當一個系統搜索請求并發很高的時候,就需要使用solrCloud來滿足這些需求
solrCloud是基于solr和zookeeper的分布式的搜索方案,它的主要思想是使用zookeeper作為擠集群配置的信息中心
二.什么是zookeeper?
zookeeper,動物園管理員,是用來管理hadoop,pig...的管理員.是一個分布式的開源的程序協調服務。可以做(1)配置管理(2)集群管理
三.solrCloud結構
三.zookeeper集群的搭建
1.mkdir /usr/local/solrCloud
2.zookeeper安裝包上傳到服務器
3.解壓并復制
tar -zxf zookeeper-3.4.6.tar.gz mv zookeeper-3.4.6 /usr/local/solrCloud/zookeeper1cp -r zookeeper1/ zookeeper2cp -r zookeeper1/ zookeeper3
4.配置zookeeper
(1)在每個zookeeper文件夾下創建data文件夾
(2)在data文件夾下創建myid文件夾,內容為zookeeper的編號
cd data/
echo 1 >> myid
...
(3)把zookeeper下conf目錄下zoo_sample.cfg文件復制一份改為zoo.cfg,并修改配置
cp zoo_sample.cfg zoo.cfgvim zoo.cfg
同理,修改其它的節點
(4)啟動zookeeper
bin目錄下:./zkServer.sh start
分別啟動另外的節點
四.solr集群的搭建
1.把solrhome中的配置文件上傳到zookeeper集群。
使用zookeeper的客戶端上傳。
客戶端命令位置:/root/solr-4.10.3/example/scripts/cloud-scripts
./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf
2.修改solrhome下的solr.xml文件,指定當前實例運行的ip地址及端口號。
3.修改每一臺solr的tomcat 的 bin目錄下catalina.sh文件中加入DzkHost指定zookeeper服務器地址:
JAVA_OPTS="-DzkHost=192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"
(可以使用vim的查找功能查找到JAVA_OPTS的定義的位置,然后添加)
4.重新啟動tomcat。
5.創建一個兩片的collection,每片是一主一備。
使用以下命令創建:
http://192.168.25.154:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
6.刪除collection1.
http://192.168.25.154:8080/solr/admin/collections?action=DELETE&name=collection1
五.solr實例的搭建
1.創建4個tomcat實例,修改其端口:8080-8083
2.解壓solr-4.10.3.tar.gz壓縮包,從壓縮包中復制solr.war到tomcat
3.啟動tomcat解壓war包,把solr-4.10.3目錄下的關于日志相關的jar包添加到solr工程中
4.創建solrhome,修改web.xml指定solrhome的位置