public class EvenScheduler extends Object implements IScheduler
Constructor and Description |
---|
EvenScheduler() |
Modifier and Type | Method and Description |
---|---|
Map<String,Map<String,Double>> |
config()
This function returns the scheduler’s configuration.
|
static Map<WorkerSlot,List<ExecutorDetails>> |
getAliveAssignedWorkerSlotExecutors(Cluster cluster,
String topologyId) |
void |
prepare(Map<String,Object> conf) |
void |
schedule(Topologies topologies,
Cluster cluster)
Set assignments for the topologies which needs scheduling.
|
static void |
scheduleTopologiesEvenly(Topologies topologies,
Cluster cluster) |
static List<WorkerSlot> |
sortSlots(List<WorkerSlot> availableSlots) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
cleanup
public static List<WorkerSlot> sortSlots(List<WorkerSlot> availableSlots)
public static Map<WorkerSlot,List<ExecutorDetails>> getAliveAssignedWorkerSlotExecutors(Cluster cluster, String topologyId)
public static void scheduleTopologiesEvenly(Topologies topologies, Cluster cluster)
public void prepare(Map<String,Object> conf)
prepare
in interface IScheduler
public void schedule(Topologies topologies, Cluster cluster)
IScheduler
Set assignments for the topologies which needs scheduling. The new assignments is available through cluster.getAssignments()
schedule
in interface IScheduler
topologies
- all the topologies in the cluster, some of them need schedule. Topologies object here only contain static information about topologies. Information like assignments, slots are all in the cluster
object.cluster
- the cluster these topologies are running in. cluster
contains everything user need to develop a new scheduling logic. e.g. supervisors information, available slots, current assignments for all the topologies etc. User can set the new assignment for topologies using cluster.setAssignmentById()`public Map<String,Map<String,Double>> config()
IScheduler
This function returns the scheduler’s configuration.
config
in interface IScheduler
Copyright © 2022 The Apache Software Foundation. All rights reserved.