Class TimelineClientImpl

java.lang.Object
org.apache.hadoop.service.AbstractService
org.apache.hadoop.service.CompositeService
org.apache.hadoop.yarn.client.api.TimelineClient
org.apache.hadoop.yarn.client.api.impl.TimelineClientImpl
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable, org.apache.hadoop.service.Service

@Private @Evolving public class TimelineClientImpl extends TimelineClient
  • 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
    Modifier and Type
    Field
    Description
    protected org.apache.hadoop.security.UserGroupInformation
     
    protected String
     
    protected org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL.Token
     

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

    STOP_ONLY_STARTED_SERVICES
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cancelDelegationToken(org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> timelineDT)
    Cancel a timeline delegation token.
     
    protected TimelineWriter
    createTimelineWriter(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.security.UserGroupInformation ugi, javax.ws.rs.client.Client webClient, URI uri, net.jodah.failsafe.RetryPolicy<Object> retryPolicy)
     
    void
     
     
    org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier>
    Get a delegation token so as to be able to talk to the timeline server in a secure way.
    org.apache.hadoop.security.UserGroupInformation
     
    static void
    main(String[] argv)
     
    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.
    void
    putDomain(org.apache.hadoop.yarn.api.records.timeline.TimelineDomain domain)
    Send the information of a domain to the timeline server.
    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.
    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.
    long
    renewDelegationToken(org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> timelineDT)
    Renew a timeline delegation token.
    protected void
    serviceInit(org.apache.hadoop.conf.Configuration conf)
     
    protected void
     
    protected void
     
    void
     
     

    Methods inherited from class org.apache.hadoop.yarn.client.api.TimelineClient

    createTimelineClient

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

    addIfService, addService, getServices, removeService

    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, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • token

      @VisibleForTesting protected org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticatedURL.Token token
    • authUgi

      @VisibleForTesting protected org.apache.hadoop.security.UserGroupInformation authUgi
    • doAsUser

      @VisibleForTesting protected String doAsUser
  • Constructor Details

    • TimelineClientImpl

      public TimelineClientImpl()
  • Method Details

    • serviceInit

      protected void serviceInit(org.apache.hadoop.conf.Configuration conf) throws Exception
      Overrides:
      serviceInit in class org.apache.hadoop.service.CompositeService
      Throws:
      Exception
    • createTimelineConnector

      @VisibleForTesting protected TimelineConnector createTimelineConnector()
    • serviceStart

      protected void serviceStart() throws Exception
      Overrides:
      serviceStart in class org.apache.hadoop.service.CompositeService
      Throws:
      Exception
    • createTimelineWriter

      protected TimelineWriter createTimelineWriter(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.security.UserGroupInformation ugi, javax.ws.rs.client.Client webClient, URI uri, net.jodah.failsafe.RetryPolicy<Object> retryPolicy) throws IOException
      Throws:
      IOException
    • serviceStop

      protected void serviceStop() throws Exception
      Overrides:
      serviceStop in class org.apache.hadoop.service.CompositeService
      Throws:
      Exception
    • flush

      public void flush() throws IOException
      Throws:
      IOException
    • putEntities

      public 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
      Description copied from class: TimelineClient

      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.

      Specified by:
      putEntities in class TimelineClient
      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
    • putDomain

      public void putDomain(org.apache.hadoop.yarn.api.records.timeline.TimelineDomain domain) throws IOException, org.apache.hadoop.yarn.exceptions.YarnException
      Description copied from class: TimelineClient

      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.

      Specified by:
      putDomain in class TimelineClient
      Parameters:
      domain - an TimelineDomain object
      Throws:
      IOException - io error occur.
      org.apache.hadoop.yarn.exceptions.YarnException - exceptions from yarn servers.
    • getDelegationToken

      public org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> getDelegationToken(String renewer) throws IOException, org.apache.hadoop.yarn.exceptions.YarnException
      Description copied from class: TimelineClient

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

      Specified by:
      getDelegationToken in class TimelineClient
      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 - io error occur.
      org.apache.hadoop.yarn.exceptions.YarnException - exceptions from yarn servers.
    • renewDelegationToken

      public long renewDelegationToken(org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> timelineDT) throws IOException, org.apache.hadoop.yarn.exceptions.YarnException
      Description copied from class: TimelineClient

      Renew a timeline delegation token.

      Specified by:
      renewDelegationToken in class TimelineClient
      Parameters:
      timelineDT - the delegation token to renew
      Returns:
      the new expiration time
      Throws:
      IOException - io error occur.
      org.apache.hadoop.yarn.exceptions.YarnException - exceptions from yarn servers.
    • cancelDelegationToken

      public void cancelDelegationToken(org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> timelineDT) throws IOException, org.apache.hadoop.yarn.exceptions.YarnException
      Description copied from class: TimelineClient

      Cancel a timeline delegation token.

      Specified by:
      cancelDelegationToken in class TimelineClient
      Parameters:
      timelineDT - the delegation token to cancel
      Throws:
      IOException - io error occur.
      org.apache.hadoop.yarn.exceptions.YarnException - exceptions from yarn servers.
    • toString

      public String toString()
      Overrides:
      toString in class org.apache.hadoop.service.AbstractService
    • main

      public static void main(String[] argv) throws Exception
      Throws:
      Exception
    • getUgi

      @VisibleForTesting @Private public org.apache.hadoop.security.UserGroupInformation getUgi()
    • putEntities

      public 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
      Description copied from class: TimelineClient

      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

      Specified by:
      putEntities in class TimelineClient
      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

      public 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
      Description copied from class: TimelineClient

      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

      Specified by:
      putDomain in class TimelineClient
      Parameters:
      appAttemptId - ApplicationAttemptId
      domain - an TimelineDomain object
      Throws:
      IOException - io error occur.
      org.apache.hadoop.yarn.exceptions.YarnException - exceptions from yarn servers.
    • setTimelineWriter

      @Private @VisibleForTesting public void setTimelineWriter(TimelineWriter writer)
    • getConnector

      @Private @VisibleForTesting public TimelineConnector getConnector()