W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
自動縮放API用于管理自動縮放策略和首選項,并獲取有關(guān)群集狀態(tài)的診斷信息。
自動縮放的Read API可存放在/admin/autoscaling或/v2/cluster/autoscaling中。它返回有關(guān)配置的群集首選項,群集策略和特定于集合的策略的信息。
這個API不帶任何參數(shù)。
輸出將包含群集首選項,群集策略和特定于集合的策略。
示例輸入:
{
"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路徑上可用。
這個API不帶任何參數(shù)。
輸出將包含集群中的sortedNodes節(jié)點列表,其按照總體負(fù)載按降序(由首選項確定)進行排序,并且violations是包含它們違反的條件的節(jié)點列表。
這里是一個沒有違規(guī)的例子,但是在這一sortedNodes節(jié)中,我們可以看到第一個節(jié)點是最負(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è)我們向群集策略添加了一個條件如下:
{"replica": "<2", "shard": "#EACH", "node": "#ANY"}
但是,由于第一個示例中的第一個節(jié)點已經(jīng)有一個以上的分片副本,因此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é)點有兩個副本shard1違反了我們的策略。
Write API與Read API在相同/admin/autoscaling和/v2/cluster/autoscaling端點上可用,但只能與 POST HTTP 謂詞一起使用。
POST請求的有效負(fù)載是一個JSON消息,帶有設(shè)置和刪除組件的命令??梢栽谟行ж?fù)載中一起指定多個命令。這些命令按照指定的順序執(zhí)行,并且這些更改是atomic的,即全部成功或者全部成功。
群集首選項被指定為排序首選項的列表??梢灾付ǘ鄠€排序首選項,并按順序應(yīng)用。
它們是使用該set-cluster-preferences命令定義的。
每個首選項是具有以下語法的JSON映射:
{'<sort_order>':'<sort_param>', 'precision':'<precision_val>'}
有關(guān) sort_order、sort_param 和 precision 參數(shù)的允許值的詳細(xì)信息,參閱 "群集首選項規(guī)范" 部分。
群集已建好后更改群集首選項不會自動重新配置群集。但是,所有未來的群集管理操作都將使用已更改的首選項。
示例輸入:
{
"set-cluster-preferences" : [
{"minimize": "cores"}
]
}
示例輸出:
輸出有一個名為"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."
}
在這個例子中,我們添加了三個不同的參數(shù)排序的群集首選項:
{
"set-cluster-preferences": [
{
"minimize": "cores",
"precision": 2
},
{
"maximize": "freedisk",
"precision": 100
},
{
"minimize": "sysLoadAvg",
"precision": 10
}
]
}
我們可以通過將首選項設(shè)置為空列表來刪除所有群集首選項。
{
"set-cluster-preferences": []
}
集群策略是使用該set-cluster-policy命令設(shè)置的。
就像set-cluster-preferences,策略定義是一個定義所需的屬性和值的JSON映射。
有關(guān)策略中每個條件的允許值的詳細(xì)信息,請參閱策略規(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."
}
通過將策略設(shè)置為空列表,我們可以刪除所有群集策略條件。
{
"set-cluster-policy": []
}
在群集已經(jīng)建立后更改群集策略不會自動重新配置群集。但是,所有未來的集群管理操作都將使用已更改的集群策略。
該set-policy命令接受策略名稱映射到該策略的條件列表??梢詫⒍鄠€命名策略一起指定。一個不存在的已命名的策略被創(chuàng)建,如果命名的策略已經(jīng)被接受,那么它被替換。
有關(guān)策略中每個條件的允許值的詳細(xì)信息,請參閱策略規(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)建集合后更改策略不會自動重新配置集合。但是,所有未來的集群管理操作都將使用已更改的策略。
該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."
}
如果您嘗試刪除集合正在使用的策略,則該命令將無法刪除策略,直到集合本身被刪除。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: