StartContainerRequest (Apache Hadoop Main 3.5.0 API)
Description: declaration: package: org.apache.hadoop.yarn.api.protocolrecords, class: StartContainerRequest

Package org.apache.hadoop.yarn.api.protocolrecords

# Class StartContainerRequest

java.lang.Object
org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest

@Public @Stable public abstract class StartContainerRequest extends Object

The request sent by the `ApplicationMaster` to the `NodeManager` to start a container.

The `ApplicationMaster` has to provide details such as allocated resource capability, security tokens (if enabled), command to be executed to start the container, environment for the process, necessary binaries/jar/shared-objects etc. via the `ContainerLaunchContext`.

See Also:
  - `ContainerManagementProtocol.startContainers(StartContainersRequest)`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StartContainerRequest()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract ContainerLaunchContext`
  `getContainerLaunchContext()`
  Get the `ContainerLaunchContext` for the container to be started by the `NodeManager`.
  `abstract Token`
  `getContainerToken()`
  Get the container token to be used for authorization during starting container.
  `static StartContainerRequest`
  `newInstance(ContainerLaunchContext context, Token container)`
  `abstract void`
  `setContainerLaunchContext(ContainerLaunchContext context)`
  Set the `ContainerLaunchContext` for the container to be started by the `NodeManager`
  `abstract void`
  `setContainerToken(Token container)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### StartContainerRequest

    public StartContainerRequest()

- ## Method Details

  - ### newInstance

    @Public @Stable public static StartContainerRequest newInstance(ContainerLaunchContext context, Token container)

  - ### getContainerLaunchContext

    @Public @Stable public abstract ContainerLaunchContext getContainerLaunchContext()
    Get the `ContainerLaunchContext` for the container to be started by the `NodeManager`.
    Returns:
      `ContainerLaunchContext` for the container to be started by the `NodeManager`

  - ### setContainerLaunchContext

    @Public @Stable public abstract void setContainerLaunchContext(ContainerLaunchContext context)
    Set the `ContainerLaunchContext` for the container to be started by the `NodeManager`
    Parameters:
      `context` - `ContainerLaunchContext` for the container to be started by the `NodeManager`

  - ### getContainerToken

    @Public @Stable public abstract Token getContainerToken()
    Get the container token to be used for authorization during starting container.

    Note: `NMToken` will be used for authenticating communication with `NodeManager`.

    Returns:
      the container token to be used for authorization during starting container.
    See Also:
      - `NMToken`
      - `ContainerManagementProtocol.startContainers(StartContainersRequest)`

  - ### setContainerToken

    @Public @Stable public abstract void setContainerToken(Token container)