123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- [[cluster-update-settings]]
- === Cluster Update Settings
- Use this API to review and change cluster-wide settings.
- To review cluster settings:
- [source,js]
- --------------------------------------------------
- GET /_cluster/settings
- --------------------------------------------------
- // CONSOLE
- By default, this API call only returns settings that have been explicitly defined, but can also <<cluster-get-settings,include the default settings>>.
- Updates to settings can be persistent, meaning they apply across restarts, or transient, where they don't
- survive a full cluster restart. Here is an example of a persistent update:
- [source,js]
- --------------------------------------------------
- PUT /_cluster/settings
- {
- "persistent" : {
- "indices.recovery.max_bytes_per_sec" : "50mb"
- }
- }
- --------------------------------------------------
- // CONSOLE
- This update is transient:
- [source,js]
- --------------------------------------------------
- PUT /_cluster/settings?flat_settings=true
- {
- "transient" : {
- "indices.recovery.max_bytes_per_sec" : "20mb"
- }
- }
- --------------------------------------------------
- // CONSOLE
- The response to an update returns the changed setting, as in this response to the transient example:
- [source,js]
- --------------------------------------------------
- {
- ...
- "persistent" : { },
- "transient" : {
- "indices.recovery.max_bytes_per_sec" : "20mb"
- }
- }
- --------------------------------------------------
- // TESTRESPONSE[s/\.\.\./"acknowledged": true,/]
- You can reset persistent or transient settings by assigning a
- `null` value. If a transient setting is reset, the first one of these values that is defined is applied:
- * the persistent setting
- * the setting in the configuration file
- * the default value.
- This example resets a setting:
- [source,js]
- --------------------------------------------------
- PUT /_cluster/settings
- {
- "transient" : {
- "indices.recovery.max_bytes_per_sec" : null
- }
- }
- --------------------------------------------------
- // CONSOLE
- The response does not include settings that have been reset:
- [source,js]
- --------------------------------------------------
- {
- ...
- "persistent" : {},
- "transient" : {}
- }
- --------------------------------------------------
- // TESTRESPONSE[s/\.\.\./"acknowledged": true,/]
- You can also reset settings using wildcards. For example, to reset
- all dynamic `indices.recovery` settings:
- [source,js]
- --------------------------------------------------
- PUT /_cluster/settings
- {
- "transient" : {
- "indices.recovery.*" : null
- }
- }
- --------------------------------------------------
- // CONSOLE
- [float]
- ==== Order of Precedence
- The order of precedence for cluster settings is:
- 1. transient cluster settings
- 2. persistent cluster settings
- 3. settings in the `elasticsearch.yml` configuration file.
- It's best to set all cluster-wide settings with the `settings` API and use the
- `elasticsearch.yml` file only for local configurations. This way you can be sure that
- the setting is the same on all nodes. If, on the other hand, you define different
- settings on different nodes by accident using the configuration file, it is very
- difficult to notice these discrepancies.
- You can find the list of settings that you can dynamically update in <<modules,Modules>>.
|