Skip to content

Expand docs on disk-based shard allocation #65668

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

DaveCTurner
Copy link
Contributor

Today we document the settings used to control rebalancing and
disk-based shard allocation but there isn't really any discussion around
what these processes do so it's hard to know what, if any, adjustments
to make.

This commit adds some words to help folk understand this area better.

Today we document the settings used to control rebalancing and
disk-based shard allocation but there isn't really any discussion around
what these processes do so it's hard to know what, if any, adjustments
to make.

This commit adds some words to help folk understand this area better.
@DaveCTurner DaveCTurner added >docs General docs changes :Distributed Coordination/Allocation All issues relating to the decision making around placing a shard (both master logic & on the nodes) v8.0.0 v7.11.0 v7.10.2 labels Dec 1, 2020
@DaveCTurner DaveCTurner requested a review from jrodewig December 1, 2020 11:11
@elasticmachine elasticmachine added Team:Docs Meta label for docs team Team:Distributed (Obsolete) Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination. labels Dec 1, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-distributed (Team:Distributed)

@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-docs (Team:Docs)

Copy link
Contributor

@jrodewig jrodewig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall.

I left some comments but nothing I would consider blocking.

Bigger thought:
I wonder if we should talk more about balanced data tiers rather than balanced clusters. While users can disable them, data tiers seem like a part of our default experience now.

Comment on lines 6 to 9
The <<shards-rebalancing-settings,balance>> of the cluster depends only on the
number of shards on each node and the indices to which those shards belong. It
considers neither the sizes of these shards nor the available disk space on
each node, for the following reasons:
Copy link
Contributor

@jrodewig jrodewig Dec 1, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if mixing in the concept of balance here is more confusing. We may want to just start with your The disk-based shard allocator... paragraph. The gist of this text seems adequately covered there and in the later admon about unequal disk usage.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, good point about leading with the later paragraph. I'll think about removing this vs moving it elsewhere. It's a common source of confusion that "balanced" doesn't mean "equal disk usage", I think we need to spell out why that isn't the case. But there's no need to lead with this.

Comment on lines 100 to 107
A cluster is _balanced_ when it has an equal number of shards on each node
without having a concentration of shards from any index on any node. {es} runs
an automatic process called _rebalancing_ which moves shards between the nodes
in your cluster in order to improve its balance. Rebalancing obeys all other
shard allocation rules such as <<cluster-shard-allocation-filtering,allocation
filtering>> and <<forced-awareness,forced awareness>> which may prevent it from
completely balancing the cluster. In that case, rebalancing strives to acheve
the most balanced cluster possible within the rules you have configured.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels like we should mention data tiers here. In many cases, I imagine the tiers, rather than the cluster, will be balanced.

Comment on lines 40 to 45
Shard movements triggered by the disk-based shard allocator must also satisfy
all other shard allocation rules such as
<<cluster-shard-allocation-filtering,allocation filtering>> and
<<forced-awareness,forced awareness>>. If these rules are too strict then they
can also prevent the shard movements needed to keep the nodes' disk usage under
control.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another opportunity to mention data tiers.

@DaveCTurner DaveCTurner merged commit aa4ab0b into elastic:master Dec 7, 2020
@DaveCTurner DaveCTurner deleted the 2020-12-01-disk-allocator-docs branch December 7, 2020 14:51
DaveCTurner added a commit that referenced this pull request Dec 7, 2020
Today we document the settings used to control rebalancing and
disk-based shard allocation but there isn't really any discussion around
what these processes do so it's hard to know what, if any, adjustments
to make.

This commit adds some words to help folk understand this area better.
DaveCTurner added a commit that referenced this pull request Dec 7, 2020
Today we document the settings used to control rebalancing and
disk-based shard allocation but there isn't really any discussion around
what these processes do so it's hard to know what, if any, adjustments
to make.

This commit adds some words to help folk understand this area better.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Distributed Coordination/Allocation All issues relating to the decision making around placing a shard (both master logic & on the nodes) >docs General docs changes Team:Distributed (Obsolete) Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination. Team:Docs Meta label for docs team v7.10.2 v7.11.0 v8.0.0-alpha1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants