国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

SolrCluod自動(dòng)縮放策略和首選項(xiàng)

2018-01-12 11:24 更新
自動(dòng)縮放策略和首選項(xiàng)是一組規(guī)則和排序首選項(xiàng),幫助Solr選擇群集管理操作的目標(biāo),以便集群上的總體負(fù)載保持平衡。

SolrCloud群集首選項(xiàng)規(guī)范

首選項(xiàng)是向Solr提示如何根據(jù)節(jié)點(diǎn)的使用情況對(duì)節(jié)點(diǎn)進(jìn)行排序。默認(rèn)的群集首選項(xiàng)是按節(jié)點(diǎn)所承載的 Solr 核心(或副本)的總數(shù)進(jìn)行排序。因此,默認(rèn)情況下,在選擇要添加副本的節(jié)點(diǎn)時(shí),Solr可以應(yīng)用這個(gè)首選項(xiàng)并選擇核心數(shù)量最少的節(jié)點(diǎn)。

可以添加多個(gè)首選項(xiàng)來(lái)斷開連接。例如,如果兩個(gè)節(jié)點(diǎn)上的內(nèi)核數(shù)量相同,我們可以選擇使用空閑磁盤空間來(lái)斷開連接,因此可以選擇空閑磁盤空間較高的節(jié)點(diǎn)作為集群操作的目標(biāo)。

每個(gè)首選項(xiàng)的形式如下:

{"<sort_order>":"<sort_param>", "precision":"<precision_val>"}
  • sort_order

    該值可以是maximize或者minimize。minimize將最小值的節(jié)點(diǎn)排序?yàn)樽钚∝?fù)載。例如,{"minimize":"cores"}將核心數(shù)量最少的節(jié)點(diǎn)排序?yàn)樨?fù)載最少的節(jié)點(diǎn)。排序順序,例如{"maximize":"freedisk"}將具有最大可用磁盤空間的節(jié)點(diǎn)排序?yàn)樨?fù)載最少的節(jié)點(diǎn)。

    系統(tǒng)的目標(biāo)是使每個(gè)節(jié)點(diǎn)的負(fù)載最小。所以,在一個(gè)MOVEREPLICA操作的情況下,它通常以最負(fù)載的節(jié)點(diǎn)為目標(biāo),并將其卸載。在一種更加負(fù)載較少的加載,minimize類似于降序排序,maximize類似于按升序排序。

    這是一個(gè)必需的參數(shù)。

  • sort_param

    必須指定以下唯一支持的參數(shù)之一:

    1. cores:節(jié)點(diǎn)上的Solr核心總數(shù)。

    2. freedisk:Solr數(shù)據(jù)主目錄的可用磁盤空間量。這總是以千兆字節(jié)為單位。

    3. sysLoadAvg:由Metrics API在solr.jvm/os.systemLoadAverage密鑰下報(bào)告的節(jié)點(diǎn)上的系統(tǒng)負(fù)載平均值。這通常是介于0和1之間的double值,值越高,節(jié)點(diǎn)的加載越多。

    4. heapUsage:由Metrics API在solr.jvm/memory.heap.usage密鑰下報(bào)告的節(jié)點(diǎn)的堆使用情況。這通常是介于0和1之間的double值,值越高,節(jié)點(diǎn)的加載越多。

  • precision

    precision告訴系統(tǒng)兩個(gè)值之間的最小(絕對(duì))差值,將它們視為不同的值。

    例如,10的精度freedisk意味著兩個(gè)節(jié)點(diǎn)的空閑磁盤空間相互在10GB以內(nèi),為了排序的目的應(yīng)該被視為相等。這有助于創(chuàng)建關(guān)系,沒有它指定多個(gè)首選項(xiàng)是沒有用的。這是一個(gè)可選參數(shù),其值必須是正整數(shù)。最大值precision必須小于最大值sort_value,如果有的話。

有關(guān)如何管理群集首選項(xiàng)的詳細(xì)信息,請(qǐng)參閱set-cluster-preferences API部分。

群集首選項(xiàng)的示例

默認(rèn)首選項(xiàng)

以下顯示了默認(rèn)群集首選項(xiàng)。當(dāng)沒有使用Autoscaling API設(shè)置明確的群集首選項(xiàng)時(shí),這由Solr 自動(dòng)應(yīng)用。

[
  {"minimize":"cores"}
]

最小化核心; 最大化可用磁盤

在這個(gè)例子中,我們希望最小化Solr內(nèi)核的數(shù)量,并且在一個(gè)連接的情況下,最大化每個(gè)節(jié)點(diǎn)上的可用磁盤空間量。

[
  {"minimize" : "cores"},
  {"maximize" : "freedisk"}
]

將精度添加到可用磁盤; 最小化系統(tǒng)負(fù)載

在這個(gè)例子中,我們給freedisk參數(shù)添加了一個(gè)精度,這樣相互之間的可用磁盤空間在10GB以內(nèi)的節(jié)點(diǎn)被認(rèn)為是相等的。在這種情況下,通過(guò)最小化sysLoadAvg來(lái)打破聯(lián)系。

[
  {"minimize" : "cores"},
  {"maximize" : "freedisk", "precision" : 10},
  {"minimize" : "sysLoadAvg"}
]

策略規(guī)范

策略是每個(gè)節(jié)點(diǎn)都要滿足的硬性規(guī)則。如果一個(gè)節(jié)點(diǎn)不滿足規(guī)則,那么它被稱為違規(guī)。Solr確保在調(diào)用任何集群管理操作時(shí),將違規(guī)數(shù)量降至最低。

策略屬性

策略可以具有以下屬性:

  • cores

    這是一個(gè)適用于整個(gè)群集的特殊屬性。它只能與node屬性一起使用,而不能與其他屬性一起使用。該屬性是可選的。

  • collection

    策略規(guī)則應(yīng)該應(yīng)用到的集合的名稱。如果省略,則該規(guī)則適用于所有集合。該屬性是可選的。

  • shard

    策略規(guī)則應(yīng)該應(yīng)用到的分片的名稱。如果省略,則該規(guī)則適用于集合中的所有分片。它支持一個(gè)特殊的值#EACH,這意味著該規(guī)則適用于集合中的每個(gè)分片。

  • replica

    為滿足規(guī)則而必須存在的副本數(shù)量。這必須是一個(gè)正整數(shù)。這是一個(gè)必需的屬性。

  • strict

    一個(gè)可選的布爾值。默認(rèn)是true。如果 true,則必須滿足該規(guī)則。如果 false,Solr盡力滿足規(guī)則,但是如果沒有節(jié)點(diǎn)可以滿足規(guī)則,那么可以選擇任何節(jié)點(diǎn)。

除了以上屬性之外,還可以指定下列屬性中的一個(gè)屬性:

  • node

    規(guī)則應(yīng)該適用的節(jié)點(diǎn)的名稱。默認(rèn)值是#ANY這意味著群集中的任何節(jié)點(diǎn)都可以滿足規(guī)則。

  • port

    規(guī)則應(yīng)該適用的節(jié)點(diǎn)的端口。

  • freedisk

    以千兆字節(jié)為單位的可用磁盤空間。這必須是一個(gè)正的64位整數(shù)值。

  • host

    節(jié)點(diǎn)的主機(jī)名。

  • sysLoadAvg

    由Metrics API在solr.jvm/os.systemLoadAverage密鑰下報(bào)告的節(jié)點(diǎn)的系統(tǒng)負(fù)載平均值這是0到1之間的浮點(diǎn)值。

  • heapUsage

    由Metrics API在solr.jvm/memory.heap.usage密鑰下報(bào)告的節(jié)點(diǎn)的堆使用情況這是0到1之間的浮點(diǎn)值。

  • nodeRole

    節(jié)點(diǎn)的作用。目前唯一支持的值是overseer。

  • ip_1 , ip_2, ip_3, ip_4

    對(duì)IP地址最重要的最重要的部分。例如,對(duì)于一個(gè)IP地址192.168.1.2,ip_1 = 2ip_2 = 1,ip_3 = 168ip_4 = 192。

  • sysprop.<system_property_name>

    啟動(dòng)時(shí)在節(jié)點(diǎn)上設(shè)置的任何系統(tǒng)屬性。

策略運(yùn)算符

策略中的每個(gè)屬性都可以指定下列運(yùn)算符之一以及該值。

  • <: 少于
  • >: 大于
  • !:不等于
  • None意思是平等的

策略規(guī)則的例子

限制副本放置

不要在同一個(gè)節(jié)點(diǎn)上放置同一個(gè)分片的多個(gè)副本:

{"replica": "<2", "shard": "#EACH", "node": "#ANY"}

限制每個(gè)節(jié)點(diǎn)的內(nèi)核

不要在任何節(jié)點(diǎn)放置10個(gè)以上的內(nèi)核。此規(guī)則只能添加到群集策略中,因?yàn)樗岬搅藘H適用于群集范圍的cores屬性。

{"cores": "<10", "node": "#ANY"}

基于端口的本地副本

在端口上運(yùn)行的節(jié)點(diǎn)上正好放置每個(gè)xyz集合分片的一個(gè)副本8983

{"replica": 1, "shard": "#EACH", "collection": "xyz", "port": "8983"}

基于系統(tǒng)屬性放置副本

將所有副本放在具有availability_zone=us-east-1a系統(tǒng)屬性的節(jié)點(diǎn)上。請(qǐng)注意,我們必須在負(fù)面意義上編寫此規(guī)則,即0個(gè)副本必須位于不具有availability_zone=us-east-1a系統(tǒng)屬性的節(jié)點(diǎn)上:

{"replica": 0, "sysprop.availability_zone": "!us-east-1a"}

基于節(jié)點(diǎn)角色放置副本

不要在具有overseer角色的節(jié)點(diǎn)上放置任何副本。請(qǐng)注意,該角色是由addRole集合API 添加的。它不是自動(dòng)成為當(dāng)前監(jiān)督者的節(jié)點(diǎn)。

{"replica": 0, "nodeRole": "overseer"}

基于可用磁盤的地方副本

將所有復(fù)制副本放在空閑大于500GB的節(jié)點(diǎn)中。這里又一次,我們必須在負(fù)面意義上寫下規(guī)則。

{"replica": 0, "freedisk": "<500"}

嘗試基于可用磁盤放置副本

盡可能將所有副本放在空閑大于500GB的節(jié)點(diǎn)中。在這里,我們使用嚴(yán)格的關(guān)鍵字來(lái)表明這個(gè)規(guī)則是盡最大努力的。

{"replica": 0, "freedisk": "<500", "strict" : false}

定義特定于集合的策略

默認(rèn)情況下,群集策略(如果存在)將自動(dòng)用于群集中的所有集合。但是,我們可以通過(guò)指定策略名稱和policy參數(shù)來(lái)創(chuàng)建可在創(chuàng)建時(shí)附加到集合的命名策略。

使用特定于集合的策略時(shí),該策略中的規(guī)則將附加到群集策略中的規(guī)則中,并使用這兩者的組合。因此,建議不要將規(guī)則添加到與群集策略中的集合特定的策略中。這樣做會(huì)使群集中的所有節(jié)點(diǎn)都不符合所有標(biāo)準(zhǔn),從而使策略失效。

可以使用特定于集合的策略來(lái)覆蓋群集策略中指定的條件。例如,如果某個(gè)子句{replica:'<3', node:'#ANY'}出現(xiàn)在群集策略中,并且特定于集合的策略中有一個(gè)子句{replica:'<4', node:'#ANY'},則群集策略將被忽略,以支持集合策略。

另外,如果在創(chuàng)建集合時(shí)指定了 maxShardsPerNode,則必須滿足 maxShardsPerNode 和策略規(guī)則。

某些屬性,如cores,只能在集群策略中使用。有關(guān)詳細(xì)信息,請(qǐng)參閱上面的策略屬性部分。

該策略由這些Collections API命令使用:

  • CREATE
  • CREATESHARD
  • ADDREPLICA
  • RESTORE
  • SPLITSHARD

將來(lái),Autoscaling框架將使用策略和首選項(xiàng)來(lái)自動(dòng)更改群集,以響應(yīng)諸如正在添加或丟失的節(jié)點(diǎn)之類的事件。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)