SolrCloud-5.2.1 集群部署及測試


一. 說明

  Solr5內置了Jetty服務,所以不用安裝部署到Tomcat了,網上部署Tomcat的資料太泛濫了。

  部署前的准備工作:

  1. 將各主機IP配置為靜態IP(保證各主機可以正常通信,為避免過多的網絡傳輸,建議在同一網段)。

  2. 修改主機名,配置各主機映射;修改hosts文件,加入各主機IP和主機名的映射。

  3. 開放相應端口或者直接關閉防火牆。

  4. 保證Zookeeper集群服務正常運行。Zookeeper的部署參考:http://www.cnblogs.com/wxisme/p/5178211.html

  5. root權限

  6.相關參數和組件的說明:

  Collection:在SolrCloud集群中邏輯意義上的完整的索引。它常常被划分為一個或多個Shard,它們使用相同的Config Set。如果Shard數超過一個,它就是分布式索引,SolrCloud讓你通過Collection名稱引用它,而不需要關心分布式檢索時需要使用的和Shard相關參數。

  Core:也就是Solr Core,一個Solr中包含一個或者多個Solr Core,每個Solr Core可以獨立提供索引和查詢功能,每個Solr Core對應一個索引或者Collection的Shard,Solr Core的提出是為了增加管理靈活性和共用資源。在SolrCloud中有個不同點是它使用的配置是在Zookeeper中的,傳統的Solr core的配置文件是在磁盤上的配置目錄中。

  Leader:贏得選舉的Shard replicas。每個Shard有多個Replicas,這幾個Replicas需要選舉來確定一個Leader。選舉可以發生在任何時間,但是通常他們僅在某個Solr實例發生故障時才會觸發。當索引documents時,SolrCloud會傳遞它們到此Shard對應的leader,leader再分發它們到全部Shard的replicas。

  Replica:Shard的一個拷貝。每個Replica存在於Solr的一個Core中。一個命名為“test”的collection以numShards=1創建,並且指定replicationFactor設置為2,這會產生2個replicas,也就是對應會有2個Core,每個在不同的機器或者Solr實例。一個會被命名為test_shard1_replica1,另一個命名為test_shard1_replica2。它們中的一個會被選舉為Leader。

  Shard:Collection的邏輯分片。每個Shard被化成一個或者多個replicas,通過選舉確定哪個是Leader。

二. 安裝過程

  1. 到Apache官網下載Solr-5.2.1安裝包

  2. 進入到Solr文件的目錄,執行以下命令從壓縮包中抽出安裝腳本:

tar -xvzf solr-5.2.1.tgz solr-5.2.1/bin/install_solr_service.sh --strip-components=2

  3. 運行安裝腳本

  執行以下命令安裝Solr:

./install_solr_service.sh solr-5.2.1.tgz -i /usr/solr/solr5 -d /usr/solr/solr5 -u solr -s solr -p 8983

  或者執行以下命令按照默認值安裝:

./install_solr_service.sh solr-5.2.1.tgz

  其實也可以直接解壓安裝包,然后自定義配置即可。

  4.修改配置

  執行以下命令編輯solr.in.sh文件:

vim /usr/solr5/solr.in.sh

  參照如下進行修改:

SOLR_JAVA_MEM="-Xms1G -Xmx1G"
ZK_HOST="node1:2181,node2:2181,node3:2181/solr"

  內存限制可以按照需要設定。

  5.按照上述步驟在其他節點執行安裝

三. 啟動Solr服務並驗證

  1. 在Solr集群中各節點執行以下命令啟動Solr服務:

service solr start

   

  2.查看Solr狀態

service solr status

  

  3.登錄Solr UI

http://node1:8983/solr

 

 

四. 測試Solr

  Solr提供了幾種常用的方式來操作,Shell命令、REST API、SolrJ接口等等,根據實際情況選擇。下面的操作為了簡單方便的演示使用Shell命令的方式。

  1. 打開並編輯server/solr/configsets/sample_techproducts_configs/conf下的schema.xml文件,在文件末尾隨便添加一個field。

 

  2. 創建一個collection並上傳關聯配置文件至Zookeeper。

./bin/solr create_collection -c students -d server/solr/configsets/sample_techproducts_configs/conf -shards 3 -replicationFactor 3

 

  如果以后要更新配置文件到Zookeeper,可以使用以下命令更新全部配置:

./server/scripts/cloud-scripts/zkcli.sh -zkhost node2:2181,node1:2181,node3:2181 -cmd upconfig -confname students -confdir server/solr/configsets/sample_techproducts_configs/conf

 

  如果只更新單個文件使用putfile命令:

./server/scripts/cloud-scripts/zkcli.sh -zkhost node2:2181,node1:2181,node3:2181 -cmd putfile /solr/configs/students/schema.xml /usr/tempfiles/schema.xml

 

  路徑的前者為配置文件在Zookeeper中的存儲路徑,后者是配置文件的本地路徑。需要注意的是如果Zookeeper中的這個文件存在需要先刪除之,然后在上傳更新。可以登錄Zookeeper中操作:

ZK_HOME/./bin/zkCli.sh -timeout 5000 -server node3:2181

 

   登錄到Zookeeper之后可以使用命令來對配置文件刪除以及其他的操作,如果不清楚配置文件在Zookeeper中的位置也可以查看。

  3.檢測collection是否成功創建,在Solr UI中刷新頁面,點擊Cloud如果成功創建了Collection會顯示出Solr的集群拓撲。

  還可以查看定義的schema.xml是否生效

 

 

 

  4.添加索引,查詢數據

  1.添加索引數據可以使用上述的幾種方式,為簡單起見使用Solr UI添加簡單的索引數據進行測試

  點擊提交會返回成功的信息:

 

 

 

  2.查詢測試

 

 

  測試完之后可以刪除Collection

http://node1:8983/solr/admin/collections?action=DELETE&name=students

 

  到此Solr的部署和簡單的測試就完成了,接下來就可以深入學習Solr的工作原理、數據結構的定義、配置和查詢了。

 

  參考資料:Solr官方文檔

 


免責聲明!

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



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