W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
自動(dòng)縮放API用于管理自動(dòng)縮放策略和首選項(xiàng),并獲取有關(guān)群集狀態(tài)的診斷信息。
自動(dòng)縮放的Read API可存放在/admin/autoscaling或/v2/cluster/autoscaling中。它返回有關(guān)配置的群集首選項(xiàng),群集策略和特定于集合的策略的信息。
這個(gè)API不帶任何參數(shù)。
輸出將包含群集首選項(xiàng),群集策略和特定于集合的策略。
示例輸入:
{
"responseHeader": {
"status": 0,
"QTime": 2
},
"cluster-policy": [
{
"replica": "<2",
"shard": "#EACH",
"node": "#ANY"
}
],
"WARNING": "This response format is experimental. It is likely to change in the future."
}
Diagnostics API顯示群集中所有情況(如果有的話)的違規(guī)情況,以及(如果適用)集合策略。它在/admin/autoscaling/diagnostics路徑上可用。
這個(gè)API不帶任何參數(shù)。
輸出將包含集群中的sortedNodes節(jié)點(diǎn)列表,其按照總體負(fù)載按降序(由首選項(xiàng)確定)進(jìn)行排序,并且violations是包含它們違反的條件的節(jié)點(diǎn)列表。
這里是一個(gè)沒(méi)有違規(guī)的例子,但是在這一sortedNodes節(jié)中,我們可以看到第一個(gè)節(jié)點(diǎn)是最負(fù)載的(根據(jù)核心數(shù)量):
{
"responseHeader": {
"status": 0,
"QTime": 65
},
"diagnostics": {
"sortedNodes": [
{
"node": "127.0.0.1:8983_solr",
"cores": 3
},
{
"node": "127.0.0.1:7574_solr",
"cores": 2
}
],
"violations": []
},
"WARNING": "This response format is experimental. It is likely to change in the future."
}
假設(shè)我們向群集策略添加了一個(gè)條件如下:
{"replica": "<2", "shard": "#EACH", "node": "#ANY"}
但是,由于第一個(gè)示例中的第一個(gè)節(jié)點(diǎn)已經(jīng)有一個(gè)以上的分片副本,因此Diagnostics API將返回:
{
"responseHeader": {
"status": 0,
"QTime": 45
},
"diagnostics": {
"sortedNodes": [
{
"node": "127.0.0.1:8983_solr",
"cores": 3
},
{
"node": "127.0.0.1:7574_solr",
"cores": 2
}
],
"violations": [
{
"collection": "gettingstarted",
"shard": "shard1",
"node": "127.0.0.1:8983_solr",
"tagKey": "127.0.0.1:8983_solr",
"violation": {
"replica": "2",
"delta": 0
},
"clause": {
"replica": "<2",
"shard": "#EACH",
"node": "#ANY",
"collection": "gettingstarted"
}
}
]
},
"WARNING": "This response format is experimental. It is likely to change in the future."
}
在上面的例子中,帶有端口8983的節(jié)點(diǎn)有兩個(gè)副本shard1違反了我們的策略。
Write API與Read API在相同/admin/autoscaling和/v2/cluster/autoscaling端點(diǎn)上可用,但只能與 POST HTTP 謂詞一起使用。
POST請(qǐng)求的有效負(fù)載是一個(gè)JSON消息,帶有設(shè)置和刪除組件的命令??梢栽谟行ж?fù)載中一起指定多個(gè)命令。這些命令按照指定的順序執(zhí)行,并且這些更改是atomic的,即全部成功或者全部成功。
群集首選項(xiàng)被指定為排序首選項(xiàng)的列表。可以指定多個(gè)排序首選項(xiàng),并按順序應(yīng)用。
它們是使用該set-cluster-preferences命令定義的。
每個(gè)首選項(xiàng)是具有以下語(yǔ)法的JSON映射:
{'<sort_order>':'<sort_param>', 'precision':'<precision_val>'}
有關(guān) sort_order、sort_param 和 precision 參數(shù)的允許值的詳細(xì)信息,參閱 "群集首選項(xiàng)規(guī)范" 部分。
群集已建好后更改群集首選項(xiàng)不會(huì)自動(dòng)重新配置群集。但是,所有未來(lái)的群集管理操作都將使用已更改的首選項(xiàng)。
示例輸入:
{
"set-cluster-preferences" : [
{"minimize": "cores"}
]
}
示例輸出:
輸出有一個(gè)名為"result"的鍵,它將根據(jù)命令是成功還是失敗返回“success”或“failure”:
{
"responseHeader": {
"status": 0,
"QTime": 138
},
"result": "success",
"WARNING": "This response format is experimental. It is likely to change in the future."
}
在這個(gè)例子中,我們添加了三個(gè)不同的參數(shù)排序的群集首選項(xiàng):
{
"set-cluster-preferences": [
{
"minimize": "cores",
"precision": 2
},
{
"maximize": "freedisk",
"precision": 100
},
{
"minimize": "sysLoadAvg",
"precision": 10
}
]
}
我們可以通過(guò)將首選項(xiàng)設(shè)置為空列表來(lái)刪除所有群集首選項(xiàng)。
{
"set-cluster-preferences": []
}
集群策略是使用該set-cluster-policy命令設(shè)置的。
就像set-cluster-preferences,策略定義是一個(gè)定義所需的屬性和值的JSON映射。
有關(guān)策略中每個(gè)條件的允許值的詳細(xì)信息,請(qǐng)參閱策略規(guī)范部分。
示例輸入:
{
"set-cluster-policy": [
{"replica": "<2", "shard": "#EACH", "node": "#ANY"}
]
}
得到輸出:
{
"responseHeader": {
"status": 0,
"QTime": 47
},
"result": "success",
"WARNING": "This response format is experimental. It is likely to change in the future."
}
通過(guò)將策略設(shè)置為空列表,我們可以刪除所有群集策略條件。
{
"set-cluster-policy": []
}
在群集已經(jīng)建立后更改群集策略不會(huì)自動(dòng)重新配置群集。但是,所有未來(lái)的集群管理操作都將使用已更改的集群策略。
該set-policy命令接受策略名稱映射到該策略的條件列表??梢詫⒍鄠€(gè)命名策略一起指定。一個(gè)不存在的已命名的策略被創(chuàng)建,如果命名的策略已經(jīng)被接受,那么它被替換。
有關(guān)策略中每個(gè)條件的允許值的詳細(xì)信息,請(qǐng)參閱策略規(guī)范部分。
輸入如下:
{
"set-policy": {
"policy1": [
{"replica": "1", "shard": "#EACH", "port": "8983"}
]
}
}
得到輸出:
{
"responseHeader": {
"status": 0,
"QTime": 246
},
"result": "success",
"WARNING": "This response format is experimental. It is likely to change in the future."
}
已經(jīng)構(gòu)建集合后更改策略不會(huì)自動(dòng)重新配置集合。但是,所有未來(lái)的集群管理操作都將使用已更改的策略。
該remove-policy命令接受從Solr中刪除的策略名稱。被刪除的策略不能附加到任何集合,否則該命令將失敗。
輸入如下:
{"remove-policy": "policy1"}
得到輸出:
{
"responseHeader": {
"status": 0,
"QTime": 42
},
"result": "success",
"WARNING": "This response format is experimental. It is likely to change in the future."
}
如果您嘗試刪除集合正在使用的策略,則該命令將無(wú)法刪除策略,直到集合本身被刪除。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: