前言
本文介紹的Solr版本:solr-7.7.3
部署環境:windows
Solr的兩種部署模式:
Solr程序包安裝好後,可以以兩種模式來啟動solr伺服器:
Standalone Server 獨立伺服器模式
適用於數據規模不大的場景
SolrCloud 分布式集群模式
適用於數據規模大,高可靠、高可用、高並發的場
獨立伺服器模式架構
1、每個solr伺服器實例(啟動的一個solr伺服器進程)都有一個solr主目錄(系統變量名為:solr.solr.home)。啟動伺服器實例時須為實例指定主目錄(默認為:server/solr目錄)。
2、solr主目錄中存放該伺服器實例託管的內核。
3、一個solr伺服器實例中可託管多個內核。
Solr主目錄介紹
Standalone Mode
每個主目錄下都有一個solr伺服器實例配置文件solr.xml。
主目錄下存放託管的多個內核。內核下,包括conf,data目錄,core.proerties文件。
core.proerties:內核屬性文件,每個內核目錄下都有這個屬性文件。
data:索引存放目錄
conf:內核配置文件目錄
SolrCloud Mode
與Standalone 模式區別:
分布式集群模式下,solr.xml可放置在zk上。
內核的conf目錄存在zk上,本地沒有。
啟動伺服器實例命令
bin/solr start [options]
bin/solr start -help
bin/solr restart [options]
bin/solr restart -help
注意:重啟要用和啟動時一樣的options
bin/solr start –s xxxdir –p port
查看本機上運行的solr服務實例的狀態
bin/solr status
停止solr服務實例
bin/solr stop [options]
bin/solr stop -help
bin/solr stop –p port
bin/solr stop -all
core 內核管理
內核core:是在Solr伺服器中的具體唯一命名的、可管理和可配置的索引。一臺solr伺服器可以託管一個或多個內核。區分不同模式的文檔。
創建內核
bin/solr create [options]
bin/solr create –help
bin/solr create_core [options]
bin/solr create_core -help
-c <name> 內核的名字(必需).
-d <confdir> 內核配置目錄。默認_default.
-p <port> 創建命令要發送到的solr服務實例的埠。如未指定則獲取本機運行的solr服務實例列表的第一個。
刪除內核
bin/solr delete [options]
bin/solr delete -help
bin/solr delete –c corename –p port
分布式集群模式架構
分布式集群模式下:
索引分割成多個片存儲到集群的不同節點上,每個分片有備份,存儲在集群的不同節點上。
獨立伺服器上索引叫內核,SolrCloud中以 collection(集合)來稱呼索引,內核存儲的是集合分片(shard)的備份(replication)。
SolrCloud分布式集群架構
集合 c1:
紅塊:分片,黑塊:備份集合 c2:
黃塊:分片,橙塊:備份
分布式集群模式啟動
zookeeper
獨立的zookeeper,則需先啟動zookeeper
內嵌的zookeeper,則先啟動包含zookeeper的solrNode
solrNode
內嵌的zookeeper的第一個solrNode節點服務啟動:
bin/solr start –c –p port –s solrhome
其他solr節點的啟動:
bin/solr start –c –p port –s solrhome –z zkhost:port
啟動的zookeeper實例的埠為 slor實例的埠+1000
分布式集群模式部署
1.創建兩個solr主目錄,如
D:\test\solrCloud\node1\solr
D:\test\solrCloud\node2\solr
node1/solr目錄下需要zk的配置文件,到example\cloud\node1\solr 下拷貝 zoo.cfg和solr.xml。
2.啟動第一個內嵌有zk的solrNode
bin/solr start –c –s F:/test/solrCloud/node1/solr
3.啟動第二個solrNode
bin/solr start –c -p 7001 –s F:/test/solrCloud/node2/solr –z localhost:9983
http://localhost:8983/solr/
瀏覽器訪問:http://localhost:8983/solr/
控制臺面板有Cloud,Collections等選項。
創建集合 collection
集合---分片數2---備份因子2
一個集合,分成兩個分片,每個分片有2個備份。
bin/solr create –c collection01 –d _default –shards 2 –replicationFactor 2 –p 8983
bin/solr create –c collection02 –d sample_techproducts_configs –shards 2 –replicationFactor 2 –p 8983
控制面板:Cloud的Graph:
右下角的Leader:Leader節點,Active:在線,Down:下線
刪除集合
bin/solr delete –c collectonname –p port
從上圖可以看出:
SolrCloud中以 collection(集合)來稱呼索引,內核存儲的是集合分片(shard)的備份(replication)
後續介紹Solr其他內容