1. 程式人生 > >Solr5.5+tomcat8.0+zookeeper3.4叢集搭建

Solr5.5+tomcat8.0+zookeeper3.4叢集搭建

最近研究SolrCloud 發現沒有好的文章 自己動手摺騰了兩天,把結果分享下

 版本:solr5.5.1  tomcat8.0  zookeeper3.4.8

 這裡說明一下 因為新版本更新 ,也有一些地方是有更新的 比如說以前的solr.war包就沒有了 ,這裡為什麼用tomcat8.0是因為tomcat7.0版本跟solr5.5的不相容  只能使用tomcat8.0才可以相容solr5.5版本


 叢集搭建環境 :vm虛擬機器 三臺 

  先關閉防火牆 service iptables stop

  solrmaster IP:192.168.138.134   solrslave1 IP:192.168.138.135  solrslave2 IP:192.168.138.136

  配置solrmaster, solrslave1, solrslave2的host檔案  vim /etc/hosts

  

以solrmaster機器為例

上傳zookeeper tomcat 以及solr包


解壓zookeeper包 到/usr/loca下,把zookeeper-3.4.8/conf檔案下的zoo_sample.cfg 改名為 zoo.cfg   


在/usr/local/zookeeper-3.4.8檔案下新建一個檔案 data 用來存放zookeeper資料


修改zoo.cfg檔案 

新增zookeeper叢集





在data目錄下新建一個檔案 ,     內容為1 建立zookeeper標示


zookeeper-3.4.8echo "1" > /usr/local/zookeeper-3.4.8/data/myid


用scp命令把 /usr/local目錄下的zookeeper-3.4.8   和 zkdate目錄都拷貝到 solrslave1  和solrslave2 中 ,

scp -r /usr/local/zookeeper-3.4.8 solrslave1:/usr/local    把zookeeper目錄拷貝到 solrslave1


scp -r /usr/local/zookeeper-3.4.8 solrslave2:/usr/local    把zookeeper目錄拷貝到 solrslave2


把solrslave1中的data目錄下的myid內容改成2  echo "2" > /usr/local/zookeeper-3.4.8/data/myid


把solrslave2 中的data目錄下的myid改為3   echo "3" > /usr/local/zookeeper-3.4.8/data/myid


修改完成之後 ,啟動zookeeper


三臺機器都啟動  ,檢視狀態  


solrmaster 狀態



solrslave1狀態 



solrslave2 狀態




到此 zookeeper啟動成功   

 

以solrmaster為列:

解壓tomcat8  和  solr5.5 到/usr/local 目錄下



把solr-5.5.1目錄下的server下的solr-webapp下的webapp複製到tomcat下webapps下並重命名為solr

再把 solr-5.5.1目錄下的server下的lib目錄下ext下的所有jar都拷貝到 tomcat8.0/webapps/solr/WEB-INF/lib下


然後在修改tomcat/webapps/solr/WEB-INF/下的web.xml檔案




紅色部分表示solr home家    


在root下建立一個資料夾  命名為solr_home


cd /

mkdir solr_home



把solr-5.5.1目錄下server/solr下的所有檔案都拷貝到  /solr_home下



在tomcat8/webapps/solr/WEB-INF下建立一個classes資料夾   ,把/usr/local/solr-5.5.1/server/resources 下的log4j.properties複製到classes資料夾下


啟動tomcat      sh /usr/local/apache-tomcat-8.0.33/bin/startup.sh


沒有solr-core   為了圖方便 直接將solr4.3版本的collection1複製到/usr/local/solr_home下



重啟tomcat 





單機版solr已經搭好


搭建叢集版需要與zookeeper結合 


把/solr_home/collection1/conf  目錄上傳到zookeeper  


啟動三臺機器zookeeper

cd /usr/local/zookeeper-3.4.8/bin

./zkServer.sh start

先在solrmaster上把檔案上傳到zookeeper

此處是關鍵~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

cd /usr/local/solr-5.5.1/server/scripts/cloud-scripts


執行此命令可以將collection1/conf  目錄上傳到zookeeper

./zkcli.sh -zkhost 192.168.138.131:2181,192.168.138.132:2181,192.168.138.133:2181 -cmd upconfig -confdir /solr_home/collection1/conf -confname myconf

檢視 zookeeper目錄下有沒有此檔案  

cd /usr/local/zookeeper-3.4.8/bin/

./zkCli.sh

ls /configs



由此conf檔案上傳成功 

就是在每臺tomca/bin/下 修改catalina.sh檔案 在第二行加上一句話 JAVA_OPTS="-DzkHost=192.168.138.137:2181,192.168.138.138:2181,192.168.138.139:2181"

scp分別拷貝/usr/local/tomcat8.0 檔案到solrslave1 和solrslave2中  

再把root目錄下的solr_home 拷貝到solrslave1 和 solrslave2中 


分別啟動 solrmaster   solrslave1  solrslave2  機器上的tomcat  


開啟 solr管理介面 點選solrcloud




solrcloud 搭建成功   

有不懂的隨時加QQ1780675810


視訊地址請參考  http://download.csdn.net/detail/u014793522/9445742