elasticsearch官方文檔學習之第十章:集羣API

集羣更新設置
可通過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
集羣臨時配 優先於 持久性配置 優先於 配置文件中的配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章