1. 程式人生 > >solrcloud5.2.1+tomcat環境搭建

solrcloud5.2.1+tomcat環境搭建

一、solrcloud+tomcat環境搭建
zookeeper配置:
配置過程略
地址為:192.168.1.249:2181

tomcat+solrcloud配置:
假設tomcat對外提供的埠為8088

1、將tomcat的配置檔案server.xml進行修改,在<Host>標籤內部加入如下程式碼段:
<Context docBase="/opt/app/tomcat7/webapps/solr" path="/solr" reloadable="true" />

2、修改/opt/app/tomcat7/bin/catalina.sh檔案 在第二行加上一句話,指明zookeeper的地址,如果zookeeper為叢集,則以逗號分隔
JAVA_OPTS="$JAVA_OPTS -DzkHost=192.168.1.249:2181"

3、建立solrhome,如/opt/app/tomcat7/solrhome,也可以建立到其他資料夾

4、拷貝solr配置檔案:/root/solr-5.2.1/server/solr/solr.xml拷貝到solrhome中

5、修改solrhome下的solr.xml:
<int name="hostPort">${jetty.port:8088}</int>#這裡的8088表示本節點tomcat的訪問埠。

6、把/root/solr-5.2.1/server/webapps中的solr.war拷貝到tomcat的webapps資料夾中,啟動tomcat,然後再刪除war包

7、將/root/solr-5.2.1/server/lib資料夾中的所有jar包(可以不用拷貝jetty相關的)拷貝到/opt/app/tomcat7/webapps/solr/WEB-INF/lib中
後期還會用到很多包,都拷貝到這個目錄下

8、修改/opt/app/tomcat7/webapps/solr/WEB-INF/下的web.xml檔案,加上如下一段:
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/opt/app/tomcat7/solrhome</env-entry-value><!--這裡必須和上面第三步建立的solrhome一致-->
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

9、將tomcat和solrhome拷貝到各個節點。
10、分別啟動各個節點的tomcat。

二、建立collection
1、上傳collection的配置檔案

/root/solr-5.2.1/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.1.240:2181 -cmd upconfig -confdir /root/solr-5.2.1/server/solr/configsets/data_driven_schema_configs/conf -confname collection3

-zkhost:zookeeper訪問地址,如果有多個則寫多個,以逗號分隔           
-cmd upconfig:表示上傳配置檔案          
-confdir:上傳檔案所在路徑,/root/solr-5.2.1/server/solr/configsets/data_driven_schema_configs/conf
-confname:在zookeeper中/configs目錄下顯示的名稱,一般和collection名稱一致

注意:
這個步驟只需要執行一次即可,不用在每個節點去執行。

name                    collection名稱
numShards               分片數
replicationFactor       每片的副本數
maxShardsPerNode        每個tomcat節點最多有幾個分片
collection.configName   和上面步驟的confname一致,即在
                        zookeeper中/configs目錄下顯示的名稱,一般和
                        collection名稱一致

2、修改schema資訊後更新(好像不用執行重新載入也可以?但最好還是執行下)
所有配置上傳到zk:

/root/solr-5.2.1/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.1.240:2181 -cmd upconfig -collection collection3 -confdir /root/solr-5.2.1/server/solr/configsets/data_driven_schema_configs/conf -confname collection3

重新載入collection:

http://192.168.1.240:8088/solr/admin/collections?action=RELOAD&name=collection3