天天看點

Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

文章目錄

  • 獨立伺服器模式(單機)
    • 架構
    • 建立一個新執行個體
    • Solr主目錄結構
    • core核心目錄結構
  • SolrCloud分布式叢集模式
    • 架構
    • SolrCloud啟動方式
    • 内嵌的zookeeper
      • 搭建SolrCloud叢集
      • 建立和删除集合
      • 送出資料到集合中
    • 獨立zookeeper

獨立伺服器模式(單機)

适用于資料規模不大的場景

架構

獨立伺服器模式就是第二篇講到的單機安裝的模式,如下架構:

Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

說明:

  • 每個solr伺服器執行個體(啟動的一個solr伺服器程序)都有一個solr主目錄。啟動伺服器執行個體時須為執行個體指定主目錄(預設為:安裝預設下的server/solr目錄)。
  • solr主目錄中存放該伺服器執行個體托管的核心。
  • 一個solr伺服器執行個體中可托管多個核心。
  • 每個主目錄下必須有solr.xml才能啟動執行個體!!!

啟動和停止solr服務執行個體指令:

  • bin/solr start –s xxxdir –p port
  • bin/solr stop –p port

建立一個新執行個體

以windows下進行講解。

第一步:在D盤建立Solr主目錄D:\test\solr

第二步:将solr安裝的預設主目錄下的solr.xml(我這裡為D:\Program Files\solr-7.5.0\server\solr)拷貝到D:\test\solr下

第三步:然後在指令視窗輸入如下指令

solr.cmd -s D:\test\solr -p 9999
           

成功啟動如下:

Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

檢視狀态:solr status

Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

Solr主目錄結構

Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

core核心目錄結構

Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

SolrCloud分布式叢集模式

适用于資料量大、高并發、高可用、實時響應的場景。

架構

SolrCloud模式下的索引将會被分割成多個分片存儲到叢集的不同節點上,而且每個分片又有備份,也會被存儲在不同的節點上。每個節點通過zookeeper注冊中心關聯起來。

  • 獨立伺服器模式下,索引被稱為核心
  • SolrCloud模式下,索引被稱為集合,而核心存儲的是集合分片的備份
Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

SolrCloud啟動方式

内嵌的zookeeper

如果使用内嵌的zookeeper的話,則需要先啟動内嵌的zookeeper的第一個solrNode節點服務,如下指令:

  • 注意:啟動該執行個體後,對應的zookeeper執行個體端口為:solr執行個體端口+1000

然後其他節點的啟動,如下指令:

搭建SolrCloud叢集

我們來在本地進行叢集的演練。

第一步:建立兩個節點主目錄

D:\test\solrCloud\node1
D:\test\solrCloud\node2
           

第二步:拷貝配置檔案

  • 将solr安裝目錄下(D:\Program Files\solr-7.5.0\server\solr)的預設配置檔案solr.xml和zoo.cfg拷貝到node1下
  • 将solr安裝目錄下(D:\Program Files\solr-7.5.0\server\solr)的預設配置檔案solr.xml拷貝到node2下

第三步:啟動,先啟動有zoo.cfg的節點,再啟動其他節點

solr.cmd -c -s D:\test\solrCloud\node1 -p 7001
solr.cmd -c -s D:\test\solrCloud\node2 -p 7002 -z localhost:8001
           
Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

第四步:通路任意一台節點,檢視界面和獨立伺服器的差異

http://localhost:7001
http://localhost:7002
           
Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

建立和删除集合

#建立集合1
bin/solr create -c collection01 -d _default -shards 2 -replicationFactor 2 -p 7001

#建立集合2
bin/solr create -c collection02 -d sample_techproducts_configs -shards 2 -replicationFactor 2 -p 7001

#删除集合
bin/solr delete -c collection01 -p port
           
  • collection01:集合名稱,随便取
  • _default:使用solr安裝後預設的資料
  • -shards 2:表示該集合分片數為2
  • -replicationFactor 2:表示每個分片數都有2個備份
  • -p 7001:表示指定哪一個solr執行個體,SolrCloud任意指定即可,都會同步到其他節點

建立完畢後,登陸控制台檢視:

Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

送出資料到集合中

#Linux/Mac指令
bin/post -c collection01 -p 7001 example/exampledocs/*
#Windows指令,進入solr安裝主目錄
java -jar -Dc=collection01 -Dport=7001 -Dauto example\exampledocs\post.jar example\exampledocs\* -p 7001
           

登陸web控制台,檢視分片已經有文檔數量了:

Solr搜尋引擎第三篇-兩種部署模式詳解獨立伺服器模式(單機)SolrCloud分布式叢集模式

獨立zookeeper

若使用獨立的zookeeper,需要先啟動zookeeper。

這裡暫不介紹。

繼續閱讀