solrcloud5.2.1+tomcat環境搭建
阿新 • • 發佈:2019-02-15
一、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