Class DistributeReplicasConditional
java.lang.Object
org.apache.hadoop.hbase.master.balancer.RegionPlanConditional
org.apache.hadoop.hbase.master.balancer.DistributeReplicasConditional
If enabled, this class will help the balancer ensure that replicas aren't placed on the same
servers or racks as their primary. Configure this via
BalancerConditionals.DISTRIBUTE_REPLICAS_KEY
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.master.balancer.RegionPlanConditional
RegionPlanConditional.ValidationLevel
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDistributeReplicasConditional
(BalancerConditionals balancerConditionals, BalancerClusterState cluster) -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
checkViolation
(RegionInfo movingRegion, ReplicaKey movingReplicaKey, Set<RegionInfo> destinationRegions) (package private) List<RegionPlanConditionalCandidateGenerator>
Get the candidate generator(s) for this conditional.(package private) static ReplicaKey
getReplicaKey
(RegionInfo regionInfo) Returns aRegionPlanConditional.ValidationLevel
that is appropriate for this conditional.(package private) boolean
isViolatingHost
(RegionPlan regionPlan, Set<RegionInfo> hostRegions) (package private) boolean
isViolatingRack
(RegionPlan regionPlan, Set<RegionInfo> rackRegions) (package private) boolean
isViolatingServer
(RegionPlan regionPlan, Set<RegionInfo> serverRegions) Methods inherited from class org.apache.hadoop.hbase.master.balancer.RegionPlanConditional
isViolating, setClusterState
-
Field Details
-
candidateGenerators
-
-
Constructor Details
-
DistributeReplicasConditional
public DistributeReplicasConditional(BalancerConditionals balancerConditionals, BalancerClusterState cluster)
-
-
Method Details
-
getValidationLevel
Description copied from class:RegionPlanConditional
Returns aRegionPlanConditional.ValidationLevel
that is appropriate for this conditional.- Specified by:
getValidationLevel
in classRegionPlanConditional
- Returns:
- the validation level
-
getCandidateGenerators
Description copied from class:RegionPlanConditional
Get the candidate generator(s) for this conditional. This can be useful to provide the balancer with hints that will appease your conditional. Your conditionals will be triggered in order.- Specified by:
getCandidateGenerators
in classRegionPlanConditional
- Returns:
- the candidate generator for this conditional
-
isViolatingServer
- Specified by:
isViolatingServer
in classRegionPlanConditional
-
isViolatingHost
- Overrides:
isViolatingHost
in classRegionPlanConditional
-
isViolatingRack
- Overrides:
isViolatingRack
in classRegionPlanConditional
-
checkViolation
private boolean checkViolation(RegionInfo movingRegion, ReplicaKey movingReplicaKey, Set<RegionInfo> destinationRegions) -
getReplicaKey
-