Interface | Description |
---|---|
EntityFilter<T> | |
Goal |
This is the interface of the optimization goals used by Cruise Control.
|
GoalBalancingActionAcceptance |
This interface declare methods that check whether the given action is acceptable by the implementing goals
in the given state of the cluster.
|
RebalanceStep |
Implementation of this interface will handle one aspect of
AbstractGoal.rebalanceForBroker(com.linkedin.kafka.cruisecontrol.model.Broker, com.linkedin.kafka.cruisecontrol.model.ClusterModel, java.util.Set<com.linkedin.kafka.cruisecontrol.analyzer.goals.Goal>, com.linkedin.kafka.cruisecontrol.analyzer.OptimizationOptions) operation (like leader balancing, replica balancing,
partition balancing etc). |
Class | Description |
---|---|
AbstractGoal |
An abstract class for goals.
|
AcceptanceResult | |
CapacityGoal |
HARD GOAL: Generate leadership and replica movement proposals to push the load on brokers and/or hosts under the
capacity limit.
|
ChainReplicaFilter |
Provides a way to create an aggregate object full of filters of
Replica objects. |
CpuCapacityGoal | |
CpuUsageDistributionGoal | |
DiskCapacityGoal | |
DiskUsageDistributionGoal | |
DistributionThresholdUtils |
Utilities to help compute the particular balance thresholds for different distribution-type goals (e.g
ResourceDistributionGoal , ReplicaDistributionAbstractGoal ) |
DistributionThresholdUtils.ReplicaThresholds |
A POJO that holds particular thresholds related to the balanced distribution of number of replicas.
|
DistributionThresholdUtils.ResourcePercentageThresholds |
A POJO that holds particular thresholds related to the balance of particular
Resource distribution, in percentages. |
EntityCombinator |
Class to generate all combination of entities from groups of entities it
is initialized with.
|
GoalOptimizationResult | |
GoalOptimizationResult.Builder | |
GoalUtils |
A util class for goals.
|
IncrementalCPUResourceDistributionGoal | |
IncrementalResourceDistributionGoal |
SOFT GOAL: Balance
Resource distribution over brokers incrementally. |
IntraBrokerDiskCapacityGoal |
Class for achieving the following hard goal:
HARD GOAL: Generate replica movement proposals between disks of the same broker to push the load on each disk of broker
under the capacity limit.
|
IntraBrokerDiskUsageDistributionGoal |
Class for achieving the following soft goal:
SOFT GOAL: For each broker rebalance disk usage to push each disk's utilization percentage within range around the
utilization percentage of the whole broker.
|
LeaderBytesInDistributionGoal |
Soft goal to distribute leader bytes evenly.
|
LeaderReplicaDistributionGoal |
SOFT GOAL: Generate leadership movement and leader replica movement proposals to ensure that the number of leader replicas
on each broker is
Under: (the average number of leader replicas per broker) * (1 + leader replica count balance percentage)
Above: (the average number of leader replicas per broker) * Math.max(0, 1 - leader replica count balance percentage)
|
MovementExclusionGoal |
MovementExclusionGoal is a hard blocking goal which forbids replica moves-out from ineligible source broker or move-in to ineligible destination broker. |
NetworkInboundCapacityGoal | |
NetworkInboundUsageDistributionGoal | |
NetworkOutboundCapacityGoal | |
NetworkOutboundUsageDistributionGoal | |
NoOpReplicaFilter | |
PotentialNwOutGoal |
SOFT GOAL: Generate proposals to keep the outbound network utilization on a broker such that even if all partitions
within the broker become the leader, the outbound network utilization would not exceed the corresponding broker
capacity threshold.
|
ProducerInboundCapacityGoal |
A hard goal which triggers on producer clients' inbound traffic to partition leaders
|
ProposalStats |
A class to track the results of Goal optimization (specifically proposal generation and acceptance) for a single goal
in Self-Balancing, for reporting after the fact.
|
ProposalStats.Builder |
A builder to build a
ProposalStats object. |
RackAwareGoal |
HARD GOAL: Generate replica movement proposals to provide rack-aware replica distribution.
|
ReplicaCapacityGoal |
HARD GOAL: Generate replica movement proposals to ensure that each broker has less than the given number of replicas.
|
ReplicaDistributionAbstractGoal |
An abstract class for replica distribution goals.
|
ReplicaDistributionGoal |
SOFT GOAL: Generate replica movement proposals to ensure that the number of replicas on each broker is
Under: (the average number of replicas per broker) * (1 + replica count balance percentage)
Above: (the average number of replicas per broker) * Math.max(0, 1 - replica count balance percentage)
|
ResourceDistributionAbstractGoal |
This class contains shared logic that could be used in balancing a Kafka cluster w.r.t its resource utilization
distribution.
|
ResourceDistributionGoal |
SOFT GOAL: Balance
Resource distribution over brokers. |
SystemTopicEvenDistributionGoal |
Try to balance system topics evenly across brokers, in the sense of partition counts
for each system topic.
|
TopicReplicaDistributionGoal |
SOFT GOAL: Balance collocations of replicas of the same topic.
|
Enum | Description |
---|---|
ReplicaDistributionAbstractGoal.ChangeType |
Whether bring replica in or out.
|
ResourceDistributionAbstractGoal.ChangeType |
Whether bring load in or bring load out.
|