Primary Indices replicating to Warm Node

Hi There,

Our current Elasticsearch stack is a 3 node testing cluster with 2 Data and 1 Warm node. All three are master. As per the cluster re-balancing policy its creating index replicas (Primary and replica) on the Warm node as well. Warm node is attached with magnetic HDD to handle only less load and we need to move only the indices to warm node as per the ILM policy which is configured. Please help us to configure it as per the node role.

Thanks
Ajesh

How have you configured your shard allocation filtering and node attributes?

1 Like

Hello Chris,

Thanks for looking into this. Shard allocation filtering was default. I just now configured the allocation filter as below and could see all the indices moved to first two nodes , but would like to know if this prevent the Warm indices from moving from first two nodes to warm node as per my ILM policy.

PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.exclude._ip": "192.168.206.100"
}
}

First two nodes

Master
Ingest
data

Last node

Master (Voting only)
data
node.attr.box_type: warm

Thanks,
Ajesh

I have also set node.attr.size: small. but this dont have any effect , it still replicates the primary and replica indices to warm node.

Hi Chris,

Kindly help me to resolve this issue.

Thanks,
Ajesh

Suggest looking at filtering / allocation docs as starting point. You set the attribute but need to tell the cluster/index to use them, I assume.

1 Like

Thanks Steve, i will check the filter Option . Just one doubt. If i set the filter for a specific index for shard allocation only on Big nodes. Will those indices rollover to warm node as per the ILM policy

Sorry, don't know enough about ILM to answer, but it's set on the index, so I believe when the ILM rolls over to what what's a new index, it could have different settings.

1 Like

Thank you Steve , I will check this option and post the updates here.

Hi Steve,

After adding the below config to elasticsearch yml and index template , everything working fine.

node.attr.data: warm > to elasticsearch.yml of warm node

node.attr.data: hot > to elasticsearch.yml of hot node

Updated Index template with below config

"routing": {
  "allocation": {
    "require": {
      "data": "hot"
      } 
    }
  },

Updated all indices with below config

"index.routing.allocation.require.data": "hot"

Thank you Steve & Christian for the Guidance