SolrCloud Autoscaling概述

2018-01-12 10:51 更新

SolrCloud Autoscaling概述

Solr中的自動(dòng)縮放(Autoscaling)旨在提供良好的默認(rèn)設(shè)置,因此SolrCloud群集在各種群集更改事件面前保持平衡和穩(wěn)定。這種平衡是通過滿足一系列規(guī)則和排序首選項(xiàng)來實(shí)現(xiàn)的,從而選擇集群管理操作的目標(biāo)。

群集首選項(xiàng)

正如其名稱所示,集群首選項(xiàng)適用于所有群集管理操作,而不管它們影響哪個(gè)集合。

首選項(xiàng)是幫助Solr選擇最大化或最小化給定度量的節(jié)點(diǎn)的一組條件。例如,諸如{minimize:cores}此類的首選項(xiàng)將幫助Solr選擇節(jié)點(diǎn),以使每個(gè)節(jié)點(diǎn)上的核心數(shù)量最小化。我們編寫集群首選項(xiàng)的方式可以減少系統(tǒng)的總體負(fù)載。您可以添加多個(gè)首選項(xiàng)來斷開關(guān)系。

默認(rèn)的集群首選項(xiàng)由上面的示例({minimize : cores})組成,這是為了最小化所有節(jié)點(diǎn)上的核心數(shù)量。

您可以在“ Autoscaling群集首選項(xiàng)(Autoscaling Cluster Preferences)”部分了解有關(guān)首選項(xiàng)的更多信息。

群集策略

群集策略是節(jié)點(diǎn)、分片或集合必須滿足的一組條件,然后才能選擇它作為群集管理操作的目標(biāo)。無論所管理的集合是什么,這些條件都在整個(gè)群集上應(yīng)用。例如,條件{"cores":"<10", "node":"#ANY"}意味著任何節(jié)點(diǎn)總共必須少于10個(gè)Solr核心,而不管它們屬于哪個(gè)集合。

有很多條件可以作為基礎(chǔ),例如,系統(tǒng)負(fù)載平均值、堆使用情況、可用磁盤空間等等。支持度量的完整列表可以在描述策略屬性的章節(jié)中找到。

當(dāng)節(jié)點(diǎn)、分片或集合不符合策略時(shí),我們稱之為違規(guī)。Solr確保集群管理操作最大限度地減少違規(guī)次數(shù)。集群管理操作目前是手動(dòng)調(diào)用的。將來,這些集群管理操作可能會(huì)自動(dòng)響應(yīng)群集事件(例如添加或丟失的節(jié)點(diǎn))而被調(diào)用。

特定于集合的策略

集合可能需要除集群策略中指定的條件之外的條件。在這種情況下,我們可以創(chuàng)建可用于特定集合的命名策略。首先,我們可以使用set-policy API創(chuàng)建一個(gè)新的策略,然后指定Collection API的CREATE命令的policy=<policy_name>參數(shù)。

/admin/collections?action=CREATE&name=coll1&numShards=1&replicationFactor=2&policy=policy1

上面的 create 集合命令將一個(gè)名為 policy1 的策略與名為 coll1 的集合相關(guān)聯(lián)。只有一個(gè)策略可能與一個(gè)集合相關(guān)聯(lián)。

請(qǐng)注意,除了群集策略外,還應(yīng)用了集合特定的策略,即它不是重寫而是擴(kuò)充。因此,集合將遵循集群首選項(xiàng)、集群策略和名為 policy1 的策略中列出的所有條件。

您可以在“定義特定于集合的策略”部分中了解有關(guān)特定于集合的策略的更多信息。

自動(dòng)縮放API(Autoscaling APIs)

/admin/autoscaling中可用的自動(dòng)縮放API可以用來讀取和修改上面討論的每個(gè)組件。

您可以在Autoscaling API部分了解有關(guān)這些API的更多信息。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)