What is the behavior of ES when it comes to shard sizes? Does it do
automatic shard rebalancing at any point of time? If so, is it also
controlled through an API?
How can I know if the shards are changing in the background? If I do not
add any new node or change any cluster configuration once indexing has
started, is there any pattern to this behavior? Please let me know.
Shard size will depend entirely on how many shards you've set and how big
the index is.
Allocation of data to shards happens in a round-robin manner, so balancing
isn't needed.
What do you mean by shards changing in the background?
What is the behavior of ES when it comes to shard sizes? Does it do
automatic shard rebalancing at any point of time? If so, is it also
controlled through an API?
How can I know if the shards are changing in the background? If I do not
add any new node or change any cluster configuration once indexing has
started, is there any pattern to this behavior? Please let me know.
Shard size will depend entirely on how many shards you've set and how big
the index is.
Allocation of data to shards happens in a round-robin manner, so balancing
isn't needed.
What do you mean by shards changing in the background?
The shards aren't assigned round robin - they are assigned to minimize a
cluster balance function. The cluster balance function is a combination of
three independent functions described here:
None of them take into account shard size. I'm working on one right now
that does.
For now your best bet is to set
cluster.routing.allocation.balance.index pretty high, like 80% of the sum.
That'll make all shards of a given index are smoothed across all nodes.
The new one will try to balance the count of shards of similar size across
all the nodes. That keeps one node from filling up while the others only
have small shards, for example. It should also spread load more evenly
when the indexes are different sizes.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.