java.lang.Object
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.allocator.AbstractContainerAllocator
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.allocator.ContainerAllocator

public class ContainerAllocator extends AbstractContainerAllocator
  • Constructor Details

    • ContainerAllocator

      public ContainerAllocator(FiCaSchedulerApp application, org.apache.hadoop.yarn.util.resource.ResourceCalculator rc, RMContext rmContext)
    • ContainerAllocator

      public ContainerAllocator(FiCaSchedulerApp application, org.apache.hadoop.yarn.util.resource.ResourceCalculator rc, RMContext rmContext, ActivitiesManager activitiesManager)
  • Method Details

    • assignContainers

      public CSAssignment assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource, CandidateNodeSet<FiCaSchedulerNode> candidates, SchedulingMode schedulingMode, ResourceLimits resourceLimits, RMContainer reservedContainer)
      Description copied from class: AbstractContainerAllocator
      allocate needs to handle following stuffs:
      • Select request: Select a request to allocate. E.g. select a resource request based on requirement/priority/locality.
      • Check if a given resource can be allocated based on resource availability
      • Do allocation: this will decide/create allocated/reserved container, this will also update metrics
      Specified by:
      assignContainers in class AbstractContainerAllocator
      Parameters:
      clusterResource - clusterResource
      candidates - CandidateNodeSet
      schedulingMode - scheduling mode (exclusive or nonexclusive)
      resourceLimits - resourceLimits
      reservedContainer - reservedContainer
      Returns:
      CSAssignment proposal