org.apache.hadoop.yarn.client.api

## Class TimelineClient

- java.lang.Object
- - org.apache.hadoop.service.AbstractService
  - - org.apache.hadoop.service.CompositeService
    - - org.apache.hadoop.yarn.client.api.TimelineClient

- All Implemented Interfaces:
    Closeable, Flushable, AutoCloseable, org.apache.hadoop.service.Service
  Direct Known Subclasses:
    TimelineClientImpl

      @InterfaceAudience.Public
       @InterfaceStability.Evolving
      public abstract class TimelineClient
      extends org.apache.hadoop.service.CompositeService
      implements Flushable

  A client library that can be used to post some information in terms of a number of conceptual entities. This client library needs to be used along with Timeline V.1.x server versions. Refer `TimelineV2Client` for ATS V2 interface.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.hadoop.service.CompositeService

      `org.apache.hadoop.service.CompositeService.CompositeServiceShutdownHook`

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

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

  - ### Field Summary

    - ### Fields inherited from class org.apache.hadoop.service.CompositeService

      `STOP_ONLY_STARTED_SERVICES`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `TimelineClient(String name)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `cancelDelegationToken(org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> timelineDT)` Cancel a timeline delegation token.
    `static TimelineClient` | `createTimelineClient()` Creates an instance of the timeline v.1.x client.
    `abstract org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier>` | `getDelegationToken(String renewer)` Get a delegation token so as to be able to talk to the timeline server in a secure way.
    `abstract void` | `putDomain(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId, org.apache.hadoop.yarn.api.records.timeline.TimelineDomain domain)` Send the information of a domain to the timeline server.
    `abstract void` | `putDomain(org.apache.hadoop.yarn.api.records.timeline.TimelineDomain domain)` Send the information of a domain to the timeline server.
    `abstract org.apache.hadoop.yarn.api.records.timeline.TimelinePutResponse` | `putEntities(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId, org.apache.hadoop.yarn.api.records.timeline.TimelineEntityGroupId groupId, org.apache.hadoop.yarn.api.records.timeline.TimelineEntity... entities)` Send the information of a number of conceptual entities to the timeline server.
    `abstract org.apache.hadoop.yarn.api.records.timeline.TimelinePutResponse` | `putEntities(org.apache.hadoop.yarn.api.records.timeline.TimelineEntity... entities)` Send the information of a number of conceptual entities to the timeline server.
    `abstract long` | `renewDelegationToken(org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> timelineDT)` Renew a timeline delegation token.

    - ### Methods inherited from class org.apache.hadoop.service.CompositeService

      `addIfService, addService, getServices, removeService, serviceInit, serviceStart, serviceStop`

    - ### 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, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop`

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

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

    - ### Methods inherited from interface java.io.Flushable

      `flush`

- - ### Constructor Detail

    - #### TimelineClient

          protected TimelineClient(String name)

  - ### Method Detail

    - #### createTimelineClient

          @InterfaceAudience.Public
          public static TimelineClient createTimelineClient()

      Creates an instance of the timeline v.1.x client. The current UGI when the user initialize the client will be used to do the put and the delegation token operations. The current user may use `UserGroupInformation.doAs(java.security.PrivilegedAction<T>)` another user to construct and initialize a timeline client if the following operations are supposed to be conducted by that user.
      Returns:
        the created timeline client instance

    - #### putEntities

          @InterfaceAudience.Public
          public abstract org.apache.hadoop.yarn.api.records.timeline.TimelinePutResponse putEntities(org.apache.hadoop.yarn.api.records.timeline.TimelineEntity... entities)
                                                                                                                         throws IOException,
                                                                                                                                org.apache.hadoop.yarn.exceptions.YarnException

      Send the information of a number of conceptual entities to the timeline server. It is a blocking API. The method will not return until it gets the response from the timeline server.

      Parameters:
        `entities` - the collection of `TimelineEntity`
      Returns:
        the error information if the sent entities are not correctly stored
      Throws:
        `IOException` - if there are I/O errors
        `org.apache.hadoop.yarn.exceptions.YarnException` - if entities are incomplete/invalid

    - #### putEntities

          @InterfaceAudience.Public
          public abstract org.apache.hadoop.yarn.api.records.timeline.TimelinePutResponse putEntities(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
                                                                                                                                org.apache.hadoop.yarn.api.records.timeline.TimelineEntityGroupId groupId,
                                                                                                                                org.apache.hadoop.yarn.api.records.timeline.TimelineEntity... entities)
                                                                                                                         throws IOException,
                                                                                                                                org.apache.hadoop.yarn.exceptions.YarnException

      Send the information of a number of conceptual entities to the timeline server. It is a blocking API. The method will not return until it gets the response from the timeline server. This API is only for timeline service v1.5

      Parameters:
        `appAttemptId` - `ApplicationAttemptId`
        `groupId` - `TimelineEntityGroupId`
        `entities` - the collection of `TimelineEntity`
      Returns:
        the error information if the sent entities are not correctly stored
      Throws:
        `IOException` - if there are I/O errors
        `org.apache.hadoop.yarn.exceptions.YarnException` - if entities are incomplete/invalid

    - #### putDomain

          @InterfaceAudience.Public
          public abstract void putDomain(org.apache.hadoop.yarn.api.records.timeline.TimelineDomain domain)
                                                            throws IOException,
                                                                   org.apache.hadoop.yarn.exceptions.YarnException

      Send the information of a domain to the timeline server. It is a blocking API. The method will not return until it gets the response from the timeline server.

      Parameters:
        `domain` - an `TimelineDomain` object
      Throws:
        `IOException`
        `org.apache.hadoop.yarn.exceptions.YarnException`

    - #### putDomain

          @InterfaceAudience.Public
          public abstract void putDomain(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
                                                                   org.apache.hadoop.yarn.api.records.timeline.TimelineDomain domain)
                                                            throws IOException,
                                                                   org.apache.hadoop.yarn.exceptions.YarnException

      Send the information of a domain to the timeline server. It is a blocking API. The method will not return until it gets the response from the timeline server. This API is only for timeline service v1.5

      Parameters:
        `domain` - an `TimelineDomain` object
        `appAttemptId` - `ApplicationAttemptId`
      Throws:
        `IOException`
        `org.apache.hadoop.yarn.exceptions.YarnException`

    - #### getDelegationToken

          @InterfaceAudience.Public
          public abstract org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> getDelegationToken(String renewer)
                                                                                                                                          throws IOException,
                                                                                                                                                 org.apache.hadoop.yarn.exceptions.YarnException

      Get a delegation token so as to be able to talk to the timeline server in a secure way.

      Parameters:
        `renewer` - Address of the renewer who can renew these tokens when needed by securely talking to the timeline server
      Returns:
        a delegation token (`Token`) that can be used to talk to the timeline server
      Throws:
        `IOException`
        `org.apache.hadoop.yarn.exceptions.YarnException`

    - #### renewDelegationToken

          @InterfaceAudience.Public
          public abstract long renewDelegationToken(org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> timelineDT)
                                                                       throws IOException,
                                                                              org.apache.hadoop.yarn.exceptions.YarnException

      Renew a timeline delegation token.

      Parameters:
        `timelineDT` - the delegation token to renew
      Returns:
        the new expiration time
      Throws:
        `IOException`
        `org.apache.hadoop.yarn.exceptions.YarnException`

    - #### cancelDelegationToken

          @InterfaceAudience.Public
          public abstract void cancelDelegationToken(org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> timelineDT)
                                                                        throws IOException,
                                                                               org.apache.hadoop.yarn.exceptions.YarnException

      Cancel a timeline delegation token.

      Parameters:
        `timelineDT` - the delegation token to cancel
      Throws:
        `IOException`
        `org.apache.hadoop.yarn.exceptions.YarnException`

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