Sreeja created HDDS-16181:
-----------------------------
Summary: Add container balancer recommend CLI command to suggest
config values for slow/medium/fast profiles
Key: HDDS-16181
URL: https://issues.apache.org/jira/browse/HDDS-16181
Project: Apache Ozone
Issue Type: Sub-task
Reporter: Sreeja
Assignee: Sreeja
Add ozone admin containerbalancer recommend command which fetches datanode
usage info via the existing getDatanodeUsageInfo RPC. It should use the
cluster summary computed by the analyzer(HDDS-16173) to make the recommendation.
The command should show the recommended values for each config for each profile
i.e slow , medium and fast. Each recommended values should be validated first.
It should also show the estimates for each profile by re-using the estimate
computation logic fromHDDS-16179
To compute the recommended value for maxDatanodesPercentageToInvolvePerIteration
{code:java}
participatingNodes = max(2, 2 × max(sourceCount, targetCount))
rawPercentage = ceil(participatingNodes × 100.0 / totalEligibleDatanodes)
finalPercentage = min(rawPercentage, profile.cap)
{code}
Should also validate that :
allowedNodes = (int)(finalPercentage / 100.0 × totalEligibleDatanodes)
If allowedNodes < participatingNodes → bump percentage to make allowedNodes >=
participatingNodes
Else if allowedNodes < 2 → bump until allowedNodes >= 2
To compute the recommended value for maxSizeEnteringTarget,
maxSizeLeavingSource:
{code:java}
maxSizeEnteringTarget = min(profileDefaultEntering, maxSizeToMovePerIteration)
maxSizeLeavingSource = min(profileDefaultLeaving, maxSizeToMovePerIteration)
{code}
To compute the recommended value for maxSizeToMovePerIteration : re-use the
formula from HDDS-16179
For threshold , balancing interval and timeouts we can provide the default
config values itself.
The command should allow the user to provide include/exclude datanodes
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]