Solr分片機制以及Solrcloud搭建及分片操作


Solr分片描述

分片是集合的邏輯分區,包含集合中文檔的子集,這樣集合中的每個文檔都正好包含在一個分片中。集合中包含每個文檔的分片取決於集合的整體“分片”策略。
當您的集合對於一個節點來說太大時,您可以通過創建多個分片將其分解並分段存儲。
例如,您可能有一個集合,其中每個文檔的“country”字段確定它是哪個shard的一部分,因此來自同一國家的文檔位於同一個位置。不同的集合可能只在每個文檔的uniquekey上使用“hash”來確定其分片。
在solrcloud之前,solr支持分布式搜索,允許跨多個分片執行一個查詢,因此查詢是針對整個solr索引執行的,搜索結果中不會遺漏任何文檔。因此,在分片上分割索引並不是一個單獨的solrcloud概念。
Solrcloud解決了這些限制。支持自動分發索引進程和查詢,ZooKeeper提供故障轉移和負載平衡。此外,每個分片都可以有多個副本,以增強健壯性。
Solrcloud 沒有主從之分,相反,每個分片至少由一個物理副本組成,其中一個是領導者。領導者會自動當選,最初是基於先到先得的原則,然后根據zookeeper的選舉原理。

每個分片中都有一個或多個副本,副本的類型有3種:

1. NRT:

This is the default. A NRT replica (NRT = NearRealTime) maintains a transaction log and writes new documents to it’s indexes locally. Any replica of this type is eligible to become a leader. Traditionally, this was the only type supported by Solr.
NRT:這是默認設置。NRT副本(NRT=NearRealtime)維護事務日志,並在本地將新文檔寫入其索引。此類型的任何副本都有資格成為領導者。傳統上,這是solr支持的唯一類型。

2. TLOG:

This type of replica maintains a transaction log but does not index document changes locally. This type helps speed up indexing since no commits need to occur in the replicas. When this type of replica needs to update its index, it does so by replicating the index from the leader. This type of replica is also eligible to become a shard leader; it would do so by first processing its transaction log. If it does become a leader, it will behave the same as if it was a NRT type of replica.
TLOG:這種類型的副本維護事務日志,但不索引本地文檔更改。這種類型有助於加速索引,因為副本中不需要進行提交。當這種類型的副本需要更新其索引時,它通過從領隊復制索引來更新索引。這種類型的副本也有資格成為一個分片領隊;它可以通過首先處理其事務日志來實現這一點。如果它真的成為一個領導者,它的行為將與它是一個NRT類型的復制品一樣。

3. PULL:

This type of replica does not maintain a transaction log nor index document changes locally. It only replicates the index from the shard leader. It is not eligible to become a shard leader and doesn’t participate in shard leader election at all.
PULL:這種類型的副本既不維護事務日志,也不在本地更改索引文檔。它只復制分片領導者的索引。它沒有資格成為一個分片領袖,根本不參加分片領袖選舉。

Solrcloud搭建及分片操作

1、在solr安裝解壓后的bin目錄下輸入:solr -e cloud

2、輸入想要創建的solr節點數,此實例輸入的是3個節點

3、輸入每個節點的端口號,此實例3個節點的端口號分別為:20001,20002,20003


自此solrcloud搭建成功。

4、訪問solr客戶端管理頁面:http://localhost:20001/solr/#/

5、創建集合以及設置分片和分片的副本:



免責聲明!

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



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