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

      @InterfaceAudience.Public
       @InterfaceStability.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 and Description
    --- | ---
    `protected` | `AuxiliaryService(String name)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### AuxiliaryService

          protected AuxiliaryService(String name)

  - ### Method Detail

    - #### 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

Copyright © 2008–2022 Apache Software Foundation. All rights reserved.