本文只寫具體的搭建過程,具體原理請看官網文檔。國內博客都是基本上都是經過tomcat搭建的solr,本文是經過內部集成的jetty容器搭建。html
1、zookeeper集羣搭建java
一、安裝JAVA環境,版本1.8
二、下載zookeeper地址 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/
三、zookeeper集羣安裝方式本身百度吧,都差很少。
四、zookeeper一個重要的腳本,zkCli.sh,經過它能夠交互式的對zookeeper集羣裏的配置自由操做
2、solrcloud集羣搭建node
一、solr下載mysql
https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/5.5.5/
二、solr配置文件web
2.1)在/solr-5.5.5/server/solr/configsets下有配置文件例子,能夠複製爲配置文件 sql
cp -r configsets/data_driven_schema_configs test
2.2)solrconfig.xml、managed-schema、data-config.xml這個三個文件涉及配置(https://www.cnblogs.com/zhangtianyuan/p/6946456.html)apache
solrconfig.xml(https://wiki.apache.org/solr/DataImportHandler#Data_Import_Request_Handler)tomcat
https://wiki.apache.org/solr/DIHQuickStart
managed-schema,字段文件,老版本是schema.xml,這個兩個的區別能夠自行參考官方手冊,前者是經過API的方式建立字段相對安全(此處修改後只會更改zookeeper集羣中的配置文件,上傳以前的配置文件是不會被修改的,這個能夠在WEB頁面建立後去看未上傳以前的配置文件是否更改,經過zookeeper來管理配置文件,因此上述中zkCli.sh這個就很重要),後者能夠經過API中添加字段,添加以後配置文件中也會出現,也能夠在配置文件中修改,固然前者也能夠在文件中修改(後者配置文件會被修改是由於不是solrcloud模式。。)。 安全
data-config.xml這個是在solrconfig.xml中配置的查詢語句等。app
2.3)從mysql中導入數據須要添加jar包
一、從mysql官網中下載一個mysql-connector-java-5.1.25.zip壓縮包,解壓出一個mysql-connector-java-5.1.25-bin.jar包,將它分別copy到solr-5.5.5/server/lib和solr-5.5.5/server/solr-webapp/webapp/WEB-INF/lib當中(只copy到第一個路徑應該就能夠) 二、將solr-dataimporthandler-5.5.5.jar和solr-dataimporthandler-extras-5.5.5.jar從solr-5.5.5/dist/文件夾下copy到solr-5.5.1/server/solr-webapp/webapp/WEB-INF/lib當中(只copy第一個文件應該就能夠)
2.4)上傳solrcloud配置文件。
/opt/soft/solr-5.5.5/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.60.175:2181,192.168.60.188:2181,192.168.60.177:2181 -cmd upconfig -confdir /opt/soft/solr-5.5.5/server/solr/test2/conf -confname test2
2.5)經過cloud模式開啓solr,在/var/solr/node1下要配置solr.xml,這個能夠從solr根目錄下複製。須要修改host和port用於將信息註冊到zookeeper。
/opt/soft/solr-5.5.5/bin/solr start -p 8983 -c -z 192.168.60.175:2181,192.168.60.188:2181,192.168.60.177:2181 -s /var/solr/node1
2.6)建立collection,這個collection就至關於非solrcloud模式下的core。
/opt/soft/solr-5.5.5/bin/solr create -c test2 -d /opt/soft/solr-5.5.5/server/solr/test2/conf -n test2 -s 3 -rf 2 -port 8983
此時solrcloud就搞好了。是否是比tomcat簡單。