Routing.allocation.exclude.tag: Node level index settings not getting picked up by new indexes


I have a 4 node ES cluster.

I am attempting to use the index.routing.allocation.exclude.tag tag so
that, unless otherwise stated, indexes will only be replicated to 3 of our
4 nodes. (The 'replica' setting in the elasticsearch.yml file is set to
'2' on all nodes in the cluster).
(Eventually the plan is that some very specific indexes will be replicated
onto all 4 nodes of the cluster).

I have tagged the 'unwanted' node with the "dr" tag in it's

Step 1: Updated routing.allocation.exclude.tag in existing indexes

I then updated all of my existing indexes to never replicate to the 'DR'
node using the below curl command:

curl -XPUT ssp-search:9200/_settings -d '{
"index" : {
"routing.allocation.exclude.tag" : "DR"

This works perfectly. None of my existing indexes are ever replicated to
the "DR" node in the cluster.

*Step 2: Changed **routing.allocation.exclude.tag in elasticsearch.yml *so
that this setting doesn't need to be set when creating a new index

I decided I would set the routing.allocation.exclude.tag setting in the
elasticsearch.yml file on all four nodes, so that all new indexes that are
created will not replicate to the dr node by default.

However, when I create a new index (without setting the
routing.allocation.exclude.tag at the index level), shards are still
replicating to the "dr" node.

This confuses me as my understanding is that index level settings set at
the node level should be inherited by the index, and only overrridden if I
explicitly set something different at the index level.

My elasticsearch.yml contains (among other things) the following:

Stop indexes automatically allocating to bne2repl2

index.routing.allocation.exclude.tag: dr

I have also tried putting the tag in double quotes:

Stop indexes automatically allocating to bne2repl2

index.routing.allocation.exclude.tag: "dr"

All nodes in the index have been restarted MULTIPLE times.

Other index settings that are set in the elasticsearch.yml are working fine
(for example, new indexes are created with 2 replicas, as per the setting
in my elasticsearch.yml.

Has anybody seen this issue before, or have any ideas or suggestions?
Hopefully I have just somehow stuffed up the syntax, or my understanding
of how the settings are inherited is flawed.

Any help or ideas would be much appreciated

You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
For more options, visit