AuxiliaryService (Apache Hadoop YARN API 3.5.0 API)
Description: declaration: package: org.apache.hadoop.yarn.server.api, class: AuxiliaryService

Package org.apache.hadoop.yarn.server.api

# Class AuxiliaryService

java.lang.Object
org.apache.hadoop.service.AbstractService
org.apache.hadoop.yarn.server.api.AuxiliaryService

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `org.apache.hadoop.service.Service`

@Public @Evolving public abstract class AuxiliaryService extends org.apache.hadoop.service.AbstractService
A generic service that will be started by the NodeManager. This is a service that administrators have to configure on each node by setting `YarnConfiguration.NM_AUX_SERVICES`.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.apache.hadoop.service.Service

  `org.apache.hadoop.service.Service.STATE`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AuxiliaryService(String name)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AuxiliaryLocalPathHandler`
  `getAuxiliaryLocalPathHandler()`
  Method that gets the local dirs path handler for this Auxiliary Service.
  `abstract ByteBuffer`
  `getMetaData()`
  Retrieve meta-data for this `AuxiliaryService`.
  `protected org.apache.hadoop.fs.Path`
  `getRecoveryPath()`
  Get the path specific to this auxiliary service to use for recovery.
  `abstract void`
  `initializeApplication(ApplicationInitializationContext initAppContext)`
  A new application is started on this NodeManager.
  `void`
  `initializeContainer(ContainerInitializationContext initContainerContext)`
  A new container is started on this NodeManager.
  `void`
  `setAuxiliaryLocalPathHandler(AuxiliaryLocalPathHandler auxiliaryLocalPathHandler)`
  Method that sets the local dirs path handler for this Auxiliary Service.
  `void`
  `setRecoveryPath(org.apache.hadoop.fs.Path recoveryPath)`
  Set the path for this auxiliary service to use for storing state that will be used during recovery.
  `abstract void`
  `stopApplication(ApplicationTerminationContext stopAppContext)`
  An application is finishing on this NodeManager.
  `void`
  `stopContainer(ContainerTerminationContext stopContainerContext)`
  A container is finishing on this NodeManager.

  ### Methods inherited from class org.apache.hadoop.service.AbstractService

  `close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, serviceInit, serviceStart, serviceStop, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop`

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

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

- ## Constructor Details

  - ### AuxiliaryService

    protected AuxiliaryService(String name)

- ## Method Details

  - ### getRecoveryPath

    protected org.apache.hadoop.fs.Path getRecoveryPath()
    Get the path specific to this auxiliary service to use for recovery.
    Returns:
      state storage path or null if recovery is not enabled

  - ### initializeApplication

    public abstract void initializeApplication(ApplicationInitializationContext initAppContext)
    A new application is started on this NodeManager. This is a signal to this `AuxiliaryService` about the application initialization.
    Parameters:
      `initAppContext` - context for the application's initialization

  - ### stopApplication

    public abstract void stopApplication(ApplicationTerminationContext stopAppContext)
    An application is finishing on this NodeManager. This is a signal to this `AuxiliaryService` about the same.
    Parameters:
      `stopAppContext` - context for the application termination

  - ### getMetaData

    public abstract ByteBuffer getMetaData()
    Retrieve meta-data for this `AuxiliaryService`. Applications using this `AuxiliaryService` SHOULD know the format of the meta-data - ideally each service should provide a method to parse out the information to the applications. One example of meta-data is contact information so that applications can access the service remotely. This will only be called after the service's `AbstractService.start()` method has finished. the result may be cached.

    The information is passed along to applications via `StartContainersResponse.getAllServicesMetaData()` that is returned by `ContainerManagementProtocol.startContainers(StartContainersRequest)`

    Returns:
      meta-data for this service that should be made available to applications.

  - ### initializeContainer

    public void initializeContainer(ContainerInitializationContext initContainerContext)
    A new container is started on this NodeManager. This is a signal to this `AuxiliaryService` about the container initialization. This method is called when the NodeManager receives the container launch command from the ApplicationMaster and before the container process is launched.
    Parameters:
      `initContainerContext` - context for the container's initialization

  - ### stopContainer

    public void stopContainer(ContainerTerminationContext stopContainerContext)
    A container is finishing on this NodeManager. This is a signal to this `AuxiliaryService` about the same.
    Parameters:
      `stopContainerContext` - context for the container termination

  - ### setRecoveryPath

    public void setRecoveryPath(org.apache.hadoop.fs.Path recoveryPath)
    Set the path for this auxiliary service to use for storing state that will be used during recovery.
    Parameters:
      `recoveryPath` - where recoverable state should be stored

  - ### getAuxiliaryLocalPathHandler

    public AuxiliaryLocalPathHandler getAuxiliaryLocalPathHandler()
    Method that gets the local dirs path handler for this Auxiliary Service.
    Returns:
      auxiliaryPathHandler object that is used to read from and write to valid local Dirs.

  - ### setAuxiliaryLocalPathHandler

    public void setAuxiliaryLocalPathHandler(AuxiliaryLocalPathHandler auxiliaryLocalPathHandler)
    Method that sets the local dirs path handler for this Auxiliary Service.
    Parameters:
      `auxiliaryLocalPathHandler` - the pathHandler for this auxiliary service