Class DelegatingLinuxContainerRuntime
java.lang.Object
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DelegatingLinuxContainerRuntime
- All Implemented Interfaces:
LinuxContainerRuntime,ContainerRuntime
@Private
@Unstable
public class DelegatingLinuxContainerRuntime
extends Object
implements LinuxContainerRuntime
This class is a
ContainerRuntime implementation that delegates all
operations to a DefaultLinuxContainerRuntime instance, a
DockerLinuxContainerRuntime instance, a
JavaSandboxLinuxContainerRuntime instance, or a custom instance
depending on whether each instance believes the operation to be within its
scope.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.hadoop.hdfs.protocol.datatransfer.IOStreamPairRun a program in container.getExposedPorts(Container container) Return the exposed ports of the container.String[]getIpAndHost(Container container) Return the host and ip of the container.getLocalResources(Container container) voidinitialize(org.apache.hadoop.conf.Configuration conf, Context nmContext) Initialize the runtime.booleanisRuntimeRequested(Map<String, String> env) Return whether the given environment variables indicate that the operation is requesting this runtime.voidLaunch a container.voidPrepare a container to be ready for launch.voidPerform any container cleanup that may be required.voidRelaunch a container.voidSignal a container.voidstart()voidstop()
-
Constructor Details
-
DelegatingLinuxContainerRuntime
public DelegatingLinuxContainerRuntime()
-
-
Method Details
-
initialize
public void initialize(org.apache.hadoop.conf.Configuration conf, Context nmContext) throws ContainerExecutionException Description copied from interface:LinuxContainerRuntimeInitialize the runtime.- Specified by:
initializein interfaceLinuxContainerRuntime- Parameters:
conf- theConfigurationto usenmContext- NMContext- Throws:
ContainerExecutionException- if an error occurs while initializing the runtime
-
isRuntimeRequested
Description copied from interface:LinuxContainerRuntimeReturn whether the given environment variables indicate that the operation is requesting this runtime.- Specified by:
isRuntimeRequestedin interfaceLinuxContainerRuntime- Parameters:
env- the environment variable settings for the operation- Returns:
- whether this runtime is requested
-
prepareContainer
Description copied from interface:ContainerRuntimePrepare a container to be ready for launch.- Specified by:
prepareContainerin interfaceContainerRuntime- Parameters:
ctx- theContainerRuntimeContext- Throws:
ContainerExecutionException- if an error occurs while preparing the container
-
launchContainer
Description copied from interface:ContainerRuntimeLaunch a container.- Specified by:
launchContainerin interfaceContainerRuntime- Parameters:
ctx- theContainerRuntimeContext- Throws:
ContainerExecutionException- if an error occurs while launching the container
-
relaunchContainer
Description copied from interface:ContainerRuntimeRelaunch a container.- Specified by:
relaunchContainerin interfaceContainerRuntime- Parameters:
ctx- theContainerRuntimeContext- Throws:
ContainerExecutionException- if an error occurs while relaunching the container
-
signalContainer
Description copied from interface:ContainerRuntimeSignal a container. Signals may be a request to terminate, a status check, etc.- Specified by:
signalContainerin interfaceContainerRuntime- Parameters:
ctx- theContainerRuntimeContext- Throws:
ContainerExecutionException- if an error occurs while signaling the container
-
reapContainer
Description copied from interface:ContainerRuntimePerform any container cleanup that may be required.- Specified by:
reapContainerin interfaceContainerRuntime- Parameters:
ctx- theContainerRuntimeContext- Throws:
ContainerExecutionException- if an error occurs while reaping the container
-
getIpAndHost
Description copied from interface:ContainerRuntimeReturn the host and ip of the container.- Specified by:
getIpAndHostin interfaceContainerRuntime- Parameters:
container- theContainer- Throws:
ContainerExecutionException- if an error occurs while getting the ip and hostname
-
getExposedPorts
Description copied from interface:ContainerRuntimeReturn the exposed ports of the container.- Specified by:
getExposedPortsin interfaceContainerRuntime- Parameters:
container- theContainer- Returns:
- List of exposed ports
- Throws:
ContainerExecutionException- if an error occurs while getting the exposed ports
-
execContainer
public org.apache.hadoop.hdfs.protocol.datatransfer.IOStreamPair execContainer(ContainerExecContext ctx) throws ContainerExecutionException Description copied from interface:ContainerRuntimeRun a program in container.- Specified by:
execContainerin interfaceContainerRuntime- Parameters:
ctx- theContainerExecContext- Returns:
- stdin and stdout of container exec
- Throws:
ContainerExecutionException
-
getLocalResources
public Map<String,org.apache.hadoop.yarn.api.records.LocalResource> getLocalResources(Container container) throws IOException - Specified by:
getLocalResourcesin interfaceLinuxContainerRuntime- Throws:
IOException
-
start
public void start()- Specified by:
startin interfaceLinuxContainerRuntime
-
stop
public void stop()- Specified by:
stopin interfaceLinuxContainerRuntime
-