Interface ResourceHandler
- All Known Subinterfaces:
CpuResourceHandler,DiskResourceHandler,MemoryResourceHandler,OutboundBandwidthResourceHandler
- All Known Implementing Classes:
AbstractCGroupsCpuResourceHandler,AbstractCGroupsMemoryResourceHandler,CGroupsBlkioResourceHandlerImpl,CGroupsCpuResourceHandlerImpl,CGroupsMemoryResourceHandlerImpl,CGroupsV2CpuResourceHandlerImpl,CGroupsV2MemoryResourceHandlerImpl,DeviceResourceHandlerImpl,FpgaResourceHandlerImpl,GpuResourceHandlerImpl,NetworkPacketTaggingHandlerImpl,NumaResourceHandlerImpl,ResourceHandlerChain,TrafficControlBandwidthHandlerImpl
@Private
@Unstable
public interface ResourceHandler
Handler interface for resource subsystems' isolation and enforcement. e.g cpu, memory, network, disks etc
-
Method Summary
Modifier and TypeMethodDescriptionbootstrap(org.apache.hadoop.conf.Configuration configuration) Bootstrap resource susbsystem.postComplete(org.apache.hadoop.yarn.api.records.ContainerId containerId) Perform any tasks necessary after container completion.Prepare a resource environment for container launchreacquireContainer(org.apache.hadoop.yarn.api.records.ContainerId containerId) Require state for container that was already launchedteardown()Teardown environment for resource subsystem if requested.updateContainer(Container container) Update state for container that was already launched
-
Method Details
-
bootstrap
List<PrivilegedOperation> bootstrap(org.apache.hadoop.conf.Configuration configuration) throws ResourceHandlerException Bootstrap resource susbsystem.- Returns:
- (possibly empty) list of operations that require elevated privileges
- Throws:
ResourceHandlerException
-
preStart
Prepare a resource environment for container launch- Parameters:
container- Container being launched- Returns:
- (possibly empty) list of operations that require elevated privileges e.g a) create a custom cgroup b) add pid for container to tasks file for a cgroup.
- Throws:
ResourceHandlerException
-
reacquireContainer
List<PrivilegedOperation> reacquireContainer(org.apache.hadoop.yarn.api.records.ContainerId containerId) throws ResourceHandlerException Require state for container that was already launched- Parameters:
containerId- id of the container being reacquired.- Returns:
- (possibly empty) list of operations that require elevated privileges
- Throws:
ResourceHandlerException
-
updateContainer
Update state for container that was already launched- Parameters:
container- the container being updated.- Returns:
- (possibly empty) list of operations that require elevated privileges
- Throws:
ResourceHandlerException
-
postComplete
List<PrivilegedOperation> postComplete(org.apache.hadoop.yarn.api.records.ContainerId containerId) throws ResourceHandlerException Perform any tasks necessary after container completion.- Parameters:
containerId- of the container that was completed.- Returns:
- (possibly empty) list of operations that require elevated privileges
- Throws:
ResourceHandlerException
-
teardown
Teardown environment for resource subsystem if requested. This method needs to be used with care since it could impact running containers.- Returns:
- (possibly empty) list of operations that require elevated privileges
- Throws:
ResourceHandlerException
-