搭建Solr集群的推薦方案


  之前介紹過2篇SolrCloud的部署流程,第一個是使用安裝腳本的方式進行抽取安裝,啟動比較方便,但是會創建多個目錄,感覺比較亂;第二個是官方教程上提供的方法,使用比較簡單,直接釋放壓縮包即可,並且啟動cloud實例的時候默認會創建一個示例collection;實際上官方文檔在solr啟動腳本配置文件solr.in.sh介紹時,也提供了一種思路,就是我們使用第一種方法中的配置參數,綜合第二種方法的釋放簡單的優點,這里總結了一個比較靈活簡單solr生產部署方式,在生產中配置也較為清晰,也是不斷實踐的結果,希望能對大家有所幫助

  首先還是保證zookeeper服務的配置運行無誤,這里集群用了6台CentOS 7.1的服務器,分別是:linux1、linux2、linux3、linux4、linux5、linux6

  然后和之前一樣,還是下載安裝包solr-5.3.1.tgz,我們預定的solr安裝位置是:/usr/solr/solr-5.3.1,接下來在linux1上執行釋放:

mkdir /usr/solr
tar -xvzf solr-5.3.1.tgz
mv solr-5.3.1 /usr/solr

  現在solr釋放完畢,然后執行 cd /usr/solr/solr-5.3.1 進入solr目錄下,然后執行 vim bin/solr.in.sh ,和之前一樣去掉SOLR_JAVA_MEM前面的#,設置為3G,不要太小,保證solr JVM和GC的運行

  

  然后最重要的一步就是設置ZK_HOST,設置為:ZK_HOST="linux1:2181,linux2:2181,linux3:2181,linux4:2181,linux5:2181,linux6:2181/solr"

  實際生產中,solr文件最好放在zookeeper下的一個子節點中,便於管理,之前都是直接堆在根目錄下,實際運行沒有影響,之前的在配置中也可以靈活設置,/solr節點待會會詳細說明如何創建

  

  之前還配置了一個SOLR_HOST,這個默認是本地和配置本地主機名效果一樣,這里就不配置這一項了,以上2項足夠了,配置好之后,保存並退出

  現在不要着急去啟動solr,如果啟動的話肯定是會出錯了,因為我們zookeeper上的節點/solr還沒有創建,之前我們討論過zookeeper服務的管理操作,創建個節點也是很簡單的,我們zookeeper的安裝位置是:/usr/zookeeper/zookeeper-3.4.6,執行下面命令登錄zookeeper服務:

/usr/zookeeper/zookeeper-3.4.6/bin/zkCli.sh -server localhost:2181

  然后就和之前所說一樣進入了管理的界面

  

  我們執行 ls / 查看根目錄下的節點列表,發現只有zookeeper節點,接下來我們執行 create /solr null 建立solr節點,字符串設置為null即可,當然自己可以定義,現在通過 ls / 就可以查看到solr節點了

  

  現在執行 quit 退出zookeeper

  現在在linux1上solr就配置完畢了,現在我們依次執行下面命令或者寫成腳本將配置好的solr目錄發送到其他5台服務器:

scp -r /usr/solr linux2:/usr/
scp -r /usr/solr linux3:/usr/
scp -r /usr/solr linux4:/usr/
scp -r /usr/solr linux5:/usr/
scp -r /usr/solr linux6:/usr/

  發送完畢以后,在6台服務器的solr安裝目錄下,也就是/usr/solr/solr-5.3.1下分別執行solr啟動命令:

bin/solr start

  啟動時,solr會讀取配置文件從而使用zookeeper服務進行協調,全部執行完畢,solrcloud就運行起來了,現在是一個純凈的集群,沒有任何配置和數據,接下來我們在其中一台服務器上執行下面命令上傳配置文件,方法和之前一樣:

./server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181/solr -cmd upconfig -confdir server/solr/configsets/sample_techproducts_configs/conf -confname my_config

  有一點需要注意,那就是-zkhost指定zookeeper服務器時需要加上/solr節點,執行完畢就上傳好了配置文件,接下來通過curl或者直接訪問瀏覽器來創建collection:

curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=my_collection&numShards=6&replicationFactor=1&collection.configName=my_config"

  如果使用瀏覽器需要將localhost換成ip地址才可以;稍等一下命令執行完畢,6個shard的collection就創建成功了

  

  另外,通過solr管理首頁可以查看JVM的資源占用和各種配置的對應項,方便去分析

  以上就是我個人推薦的solr集群搭建方案,過程比較簡單,到這里就ok了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM