@InterfaceAudience.Private @InterfaceStability.Unstable public class DefaultLinuxContainerRuntime extends Object implements LinuxContainerRuntime
ContainerRuntime
implementation that uses the
native container-executor
binary via a
PrivilegedOperationExecutor
instance to launch processes using the
standard process model.Constructor and Description |
---|
DefaultLinuxContainerRuntime(PrivilegedOperationExecutor privilegedOperationExecutor)
Create an instance using the given
PrivilegedOperationExecutor
instance for performing operations. |
Modifier and Type | Method and Description |
---|---|
org.apache.hadoop.hdfs.protocol.datatransfer.IOStreamPair |
execContainer(ContainerExecContext ctx)
Run a program in container.
|
String |
getExposedPorts(Container container)
Return the exposed ports of the container.
|
String[] |
getIpAndHost(Container container)
Return the host and ip of the container.
|
void |
initialize(org.apache.hadoop.conf.Configuration conf,
Context nmContext)
Initialize the runtime.
|
boolean |
isRuntimeRequested(Map<String,String> env)
Return whether the given environment variables indicate that the operation
is requesting this runtime.
|
void |
launchContainer(ContainerRuntimeContext ctx)
Launch a container.
|
void |
prepareContainer(ContainerRuntimeContext ctx)
Prepare a container to be ready for launch.
|
void |
reapContainer(ContainerRuntimeContext ctx)
Perform any container cleanup that may be required.
|
void |
relaunchContainer(ContainerRuntimeContext ctx)
Relaunch a container.
|
void |
signalContainer(ContainerRuntimeContext ctx)
Signal a container.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getLocalResources, start, stop
public DefaultLinuxContainerRuntime(PrivilegedOperationExecutor privilegedOperationExecutor)
PrivilegedOperationExecutor
instance for performing operations.privilegedOperationExecutor
- the PrivilegedOperationExecutor
instancepublic boolean isRuntimeRequested(Map<String,String> env)
LinuxContainerRuntime
isRuntimeRequested
in interface LinuxContainerRuntime
env
- the environment variable settings for the operationpublic void initialize(org.apache.hadoop.conf.Configuration conf, Context nmContext) throws ContainerExecutionException
LinuxContainerRuntime
initialize
in interface LinuxContainerRuntime
conf
- the Configuration
to usenmContext
- NMContextContainerExecutionException
- if an error occurs while initializing
the runtimepublic void prepareContainer(ContainerRuntimeContext ctx) throws ContainerExecutionException
ContainerRuntime
prepareContainer
in interface ContainerRuntime
ctx
- the ContainerRuntimeContext
ContainerExecutionException
- if an error occurs while preparing
the containerpublic void launchContainer(ContainerRuntimeContext ctx) throws ContainerExecutionException
ContainerRuntime
launchContainer
in interface ContainerRuntime
ctx
- the ContainerRuntimeContext
ContainerExecutionException
- if an error occurs while launching
the containerpublic void relaunchContainer(ContainerRuntimeContext ctx) throws ContainerExecutionException
ContainerRuntime
relaunchContainer
in interface ContainerRuntime
ctx
- the ContainerRuntimeContext
ContainerExecutionException
- if an error occurs while relaunching
the containerpublic void signalContainer(ContainerRuntimeContext ctx) throws ContainerExecutionException
ContainerRuntime
signalContainer
in interface ContainerRuntime
ctx
- the ContainerRuntimeContext
ContainerExecutionException
- if an error occurs while signaling
the containerpublic void reapContainer(ContainerRuntimeContext ctx) throws ContainerExecutionException
ContainerRuntime
reapContainer
in interface ContainerRuntime
ctx
- the ContainerRuntimeContext
ContainerExecutionException
- if an error occurs while reaping
the containerpublic String[] getIpAndHost(Container container)
ContainerRuntime
getIpAndHost
in interface ContainerRuntime
container
- the Container
public String getExposedPorts(Container container)
ContainerRuntime
getExposedPorts
in interface ContainerRuntime
container
- the Container
public org.apache.hadoop.hdfs.protocol.datatransfer.IOStreamPair execContainer(ContainerExecContext ctx) throws ContainerExecutionException
ContainerRuntime
execContainer
in interface ContainerRuntime
ctx
- the ContainerExecContext
ContainerExecutionException
Copyright © 2008–2023 Apache Software Foundation. All rights reserved.