We use ES 6.0 hosted on EC2 boxes with AWS EBS as the storage layer.
I was digging into the ES recovery API(https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html).
Below is the recovery settings for my cluster:
{
"persistent": {
"cluster": {
"routing": {
"allocation": {
"cluster_concurrent_rebalance": "2",
"node_concurrent_recoveries": "2",
"disk": {
"watermark": {
"low": "15.0gb",
"flood_stage": "5.0gb",
"high": "10.0gb"
}
},
"node_initial_primaries_recoveries": "4"
}
},
"blocks": {
"create_index": "false"
}
},
"indices": {
"recovery": {
"max_bytes_per_sec": "60mb"
}
}
},
"transient": {
"cluster": {
"routing": {
"allocation": {
"cluster_concurrent_rebalance": "2",
"node_concurrent_recoveries": "2",
"disk": {
"watermark": {
"low": "15.0gb",
"flood_stage": "5.0gb",
"high": "10.0gb"
}
},
"exclude": {},
"node_initial_primaries_recoveries": "4"
}
}
},
"indices": {
"recovery": {
"max_bytes_per_sec": "60mb"
}
}
}
}
Questions:
- Is there any recommendation on tuning above params?
- Can someone explain based on above settings what is the max IOPS that can be seen per data node during recovery part from normal traffic?
Is it node_concurrent_recoveries * max_bytes_per_sec ?