集羣更新設置
可通過kibana/cerebro執行GET查詢獲取當前集羣的settings
GET /_cluster/settings
集羣未做任何設置時執行查詢響應如下:
{
"persistent": {},
"transient": {}
}
允許更新集羣範圍內的特定設置。更新的設置可以是persistent 持久性的(重啓後依舊有效),也可以是 transient 臨時性的(完全重啓集羣后失效)。
PUT /_cluster/settings
{
"persistent" : {
"indices.recovery.max_bytes_per_sec" : "50mb"
}
}
Or:
PUT /_cluster/settings?flat_settings=true
{
"transient" : {
"indices.recovery.max_bytes_per_sec" : "20mb"
}
}
當你依次執行上面transient的設置後,響應如下:
{
"acknowledged": true,
"persistent": {},
"transient": {
"indices": {
"recovery": {
"max_bytes_per_sec": "20mb"
}
}
}
}
此時執行get查詢響應如下:
{
"persistent": {
"indices": {
"recovery": {
"max_bytes_per_sec": "50mb"
}
}
},
"transient": {
"indices": {
"recovery": {
"max_bytes_per_sec": "20mb"
}
}
}
}
可以通過設置null值來重置persistent持久性或transient瞬態設置。如果重置了瞬態設置爲null,則在可用時應用持久設置(之前設置的persistent將被使用)。否則,Elasticsearch將回退到配置文件中定義的設置,或者,如果不存在,回退到默認值。如:
PUT /_cluster/settings?flat_settings=true
{
"transient" : {
"indices.recovery.max_bytes_per_sec" : null
}
}
響應如下:
{
"acknowledged": true,
"persistent": {},
"transient": {}
}
當你再次執行: GET /_cluster/settings
響應如下:
{
"persistent": {
"indices": {
"recovery": {
"max_bytes_per_sec": "50mb"
}
}
},
"transient": {}
}
還可以使用簡單的通配符重置設置。以下以indices.recovery爲前綴的所有transient配置設置爲null:
PUT /_cluster/settings
{
"transient" : {
"indices.recovery.*" : null
}
}
總結:transient > persistent > elasticsearch.yml
集羣臨時配 優先於 持久性配置 優先於 配置文件中的配置