linux下搭建solrClou集羣搭建(二)

首先準備4個tomcat


[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat01
[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat02
[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat03
[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat04


因爲是在一臺電腦上搭建的僞集羣   索引這幾個tomcat啓動的時候 必須的都把端口號修改一下  要不就端口衝突;

四個個tomcat端口號都修改:端口號修改的時候   要有一定的規律

  例如

第一個tomcat所涉及的端口號:8005  8080 8009  可以修改8105  8180 8109

第二個tomcat所涉及的端口號:8005  8080 8009  可以修改8205  8280 8209

第三個tomcat所涉及的端口號:8005  8080 8009  可以修改8305  8380 8309

第四個tomcat所涉及的端口號:8005  8080 8009  可以修改8305  8380 8309








見tomcat與solr單機版整合的這編文章   

搭建僞集羣  建議先把這篇文章的單機版整合搭建一下

http://blog.csdn.net/weixin_36695293/article/details/77171202






[root@localhost solr-cloud]# cp -r ../solr/tomcat/webapps/solr/ tomcat01/webapps/


[root@localhost solr-cloud]# cp -r ../solr/tomcat/webapps/solr/ tomcat02/webapps/
[root@localhost solr-cloud]# cp -r ../solr/tomcat/webapps/solr/ tomcat03/webapps/
[root@localhost solr-cloud]# cp -r ../solr/tomcat/webapps/solr/ tomcat04/webapps/


[root@localhost solr-cloud]# cp -r ../solr/solrhome/ solrhome01---這是之前整合好的solrhome
[root@localhost solr-cloud]# cp -r ../solr/solrhome/ solrhome02
[root@localhost solr-cloud]# cp -r ../solr/solrhome/ solrhome03
[root@localhost solr-cloud]# cp -r ../solr/solrhome/ solrhome04




編寫solrhome01下面的solr.xml


<solr>


  <solrcloud>
    <str name="host">192.168.25.127</str>
    <int name="hostPort">8180</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>


  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:0}</int>
    <int name="connTimeout">${connTimeout:0}</int>
  </shardHandlerFactory>


</solr>
每一個solrhome都要修改


修改此路tomcat下面solr工程下面的web.xml


[root@localhost solr-cloud]# vi tomcat01/webapps/solr/WEB-INF/web.xml 


 <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/solr-cloud/solrhome01</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>
做完以上步驟  tomcat中的solr和solrhome已經建立了聯繫




現在solr和zookeeper建立聯繫




修改tomcat/bin目錄下面的catalina.sh


在這個註釋上面Execute The Requested Command 
JAVA_OPTS="-DzkHost=192.168.25.127:2182,192.168.25.127:2183,192.168.25.127:2184"
# ----- Execute The Requested Command -----------------------------------------


其他三個tomcat都要改;




下面要使用一個工具把solrhome下面的conf下面的配置文件上牀到zookeeper  讓zookeeper管理




在root根目錄下面的解壓文件 solr-4.10.3/exampel/srcipts/ cloud-scriptscd/zkcli.sh


在[root@localhost cloud-scripts]# 目錄下面執行下面的命令




.zkcli.sh -zkhost 192.168.25.127:2182,192.168.25.127:2183,192.168.25.127:2184 -cmd upconfig 


-confdir /usr/local/solr-cloud/solrhome01/collection1/conf/ -confname myconf


連接zookeeper的命令
[root@localhost bin]# ./zkCli.sh -server 192.168.25.127:2182


把四個tomcat全部重新啓動


訪問http://192.168.25.127:8480/solr/








如果 剛打開的時候 彈出一個  There exits no core ~cloud    先不要着急  換個瀏覽器試一下  如果不行   請參考linux下tomcat和solr服務器整合筆記  步驟有木有落下什麼 

集羣分片命令

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


刪除collection命令


http://192.168.25.127:8180/solr/admin/collections?action=DELETE&name=collection1


































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章