mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-08 22:14:59 +00:00
Enable DiskThresholdDecider by default, change default limits to 85/90%
Fixes #6200 Fixes #6201
This commit is contained in:
parent
35cba50fce
commit
3a3f81d59b
@ -100,16 +100,18 @@ settings API.
|
||||
[[disk]]
|
||||
=== Disk-based Shard Allocation
|
||||
|
||||
coming[1.3.0] disk based shard allocation is enabled from version 1.3.0 onward
|
||||
|
||||
Elasticsearch can be configured to prevent shard
|
||||
allocation on nodes depending on disk usage for the node. This
|
||||
functionality is disabled by default, and can be changed either in the
|
||||
functionality is enabled by default, and can be changed either in the
|
||||
configuration file, or dynamically using:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
curl -XPUT localhost:9200/_cluster/settings -d '{
|
||||
"transient" : {
|
||||
"cluster.routing.allocation.disk.threshold_enabled" : true
|
||||
"cluster.routing.allocation.disk.threshold_enabled" : false
|
||||
}
|
||||
}'
|
||||
--------------------------------------------------
|
||||
@ -118,15 +120,15 @@ Once enabled, Elasticsearch uses two watermarks to decide whether
|
||||
shards should be allocated or can remain on the node.
|
||||
|
||||
`cluster.routing.allocation.disk.watermark.low` controls the low
|
||||
watermark for disk usage. It defaults to 70%, meaning ES will not
|
||||
allocate new shards to nodes once they have more than 70% disk
|
||||
watermark for disk usage. It defaults to 85%, meaning ES will not
|
||||
allocate new shards to nodes once they have more than 85% disk
|
||||
used. It can also be set to an absolute byte value (like 500mb) to
|
||||
prevent ES from allocating shards if less than the configured amount
|
||||
of space is available.
|
||||
|
||||
`cluster.routing.allocation.disk.watermark.high` controls the high
|
||||
watermark. It defaults to 85%, meaning ES will attempt to relocate
|
||||
shards to another node if the node disk usage rises above 85%. It can
|
||||
watermark. It defaults to 90%, meaning ES will attempt to relocate
|
||||
shards to another node if the node disk usage rises above 90%. It can
|
||||
also be set to an absolute byte value (similar to the low watermark)
|
||||
to relocate shards once less than the configured amount of space is
|
||||
available on the node.
|
||||
|
@ -110,8 +110,8 @@ public class DiskThresholdDecider extends AllocationDecider {
|
||||
@Inject
|
||||
public DiskThresholdDecider(Settings settings, NodeSettingsService nodeSettingsService) {
|
||||
super(settings);
|
||||
String lowWatermark = settings.get(CLUSTER_ROUTING_ALLOCATION_LOW_DISK_WATERMARK, "70%");
|
||||
String highWatermark = settings.get(CLUSTER_ROUTING_ALLOCATION_HIGH_DISK_WATERMARK, "85%");
|
||||
String lowWatermark = settings.get(CLUSTER_ROUTING_ALLOCATION_LOW_DISK_WATERMARK, "85%");
|
||||
String highWatermark = settings.get(CLUSTER_ROUTING_ALLOCATION_HIGH_DISK_WATERMARK, "90%");
|
||||
|
||||
if (!validWatermarkSetting(lowWatermark)) {
|
||||
throw new ElasticsearchParseException("Unable to parse low watermark: [" + lowWatermark + "]");
|
||||
@ -126,7 +126,7 @@ public class DiskThresholdDecider extends AllocationDecider {
|
||||
this.freeBytesThresholdLow = thresholdBytesFromWatermark(lowWatermark);
|
||||
this.freeBytesThresholdHigh = thresholdBytesFromWatermark(highWatermark);
|
||||
|
||||
this.enabled = settings.getAsBoolean(CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED, false);
|
||||
this.enabled = settings.getAsBoolean(CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED, true);
|
||||
nodeSettingsService.addListener(new ApplySettings());
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user