Class ShuffleHandler

java.lang.Object
org.apache.hadoop.service.AbstractService
org.apache.hadoop.yarn.server.api.AuxiliaryService
org.apache.hadoop.mapred.ShuffleHandler
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.hadoop.service.Service

public class ShuffleHandler extends org.apache.hadoop.yarn.server.api.AuxiliaryService
  • Field Details

    • LOG

      public static final org.slf4j.Logger LOG
    • AUDITLOG

      public static final org.slf4j.Logger AUDITLOG
    • SHUFFLE_MANAGE_OS_CACHE

      public static final String SHUFFLE_MANAGE_OS_CACHE
      See Also:
    • DEFAULT_SHUFFLE_MANAGE_OS_CACHE

      public static final boolean DEFAULT_SHUFFLE_MANAGE_OS_CACHE
      See Also:
    • SHUFFLE_READAHEAD_BYTES

      public static final String SHUFFLE_READAHEAD_BYTES
      See Also:
    • DEFAULT_SHUFFLE_READAHEAD_BYTES

      public static final int DEFAULT_SHUFFLE_READAHEAD_BYTES
      See Also:
    • MAX_WEIGHT

      public static final String MAX_WEIGHT
      See Also:
    • DEFAULT_MAX_WEIGHT

      public static final int DEFAULT_MAX_WEIGHT
      See Also:
    • EXPIRE_AFTER_ACCESS_MINUTES

      public static final String EXPIRE_AFTER_ACCESS_MINUTES
      See Also:
    • DEFAULT_EXPIRE_AFTER_ACCESS_MINUTES

      public static final int DEFAULT_EXPIRE_AFTER_ACCESS_MINUTES
      See Also:
    • CONCURRENCY_LEVEL

      public static final String CONCURRENCY_LEVEL
      See Also:
    • DEFAULT_CONCURRENCY_LEVEL

      public static final int DEFAULT_CONCURRENCY_LEVEL
      See Also:
    • IGNORABLE_ERROR_MESSAGE

      public static final Pattern IGNORABLE_ERROR_MESSAGE
    • CURRENT_VERSION_INFO

      protected static final org.apache.hadoop.yarn.server.records.Version CURRENT_VERSION_INFO
    • TOO_MANY_REQ_STATUS

      public static final io.netty.handler.codec.http.HttpResponseStatus TOO_MANY_REQ_STATUS
    • FETCH_RETRY_DELAY

      public static final long FETCH_RETRY_DELAY
      See Also:
    • RETRY_AFTER_HEADER

      public static final String RETRY_AFTER_HEADER
      See Also:
    • allChannels

      protected final io.netty.channel.group.ChannelGroup allChannels
    • secretManager

      protected org.apache.hadoop.mapreduce.security.token.JobTokenSecretManager secretManager
    • userRsrc

      protected Map<String,String> userRsrc
    • MAPREDUCE_SHUFFLE_SERVICEID

      public static final String MAPREDUCE_SHUFFLE_SERVICEID
      See Also:
    • SHUFFLE_PORT_CONFIG_KEY

      public static final String SHUFFLE_PORT_CONFIG_KEY
      See Also:
    • DEFAULT_SHUFFLE_PORT

      public static final int DEFAULT_SHUFFLE_PORT
      See Also:
    • SHUFFLE_LISTEN_QUEUE_SIZE

      public static final String SHUFFLE_LISTEN_QUEUE_SIZE
      See Also:
    • DEFAULT_SHUFFLE_LISTEN_QUEUE_SIZE

      public static final int DEFAULT_SHUFFLE_LISTEN_QUEUE_SIZE
      See Also:
    • SHUFFLE_CONNECTION_KEEP_ALIVE_ENABLED

      public static final String SHUFFLE_CONNECTION_KEEP_ALIVE_ENABLED
      See Also:
    • DEFAULT_SHUFFLE_CONNECTION_KEEP_ALIVE_ENABLED

      public static final boolean DEFAULT_SHUFFLE_CONNECTION_KEEP_ALIVE_ENABLED
      See Also:
    • SHUFFLE_CONNECTION_KEEP_ALIVE_TIME_OUT

      public static final String SHUFFLE_CONNECTION_KEEP_ALIVE_TIME_OUT
      See Also:
    • DEFAULT_SHUFFLE_CONNECTION_KEEP_ALIVE_TIME_OUT

      public static final int DEFAULT_SHUFFLE_CONNECTION_KEEP_ALIVE_TIME_OUT
      See Also:
    • SHUFFLE_MAPOUTPUT_META_INFO_CACHE_SIZE

      public static final String SHUFFLE_MAPOUTPUT_META_INFO_CACHE_SIZE
      See Also:
    • DEFAULT_SHUFFLE_MAPOUTPUT_META_INFO_CACHE_SIZE

      public static final int DEFAULT_SHUFFLE_MAPOUTPUT_META_INFO_CACHE_SIZE
      See Also:
    • CONNECTION_CLOSE

      public static final String CONNECTION_CLOSE
      See Also:
    • SUFFLE_SSL_FILE_BUFFER_SIZE_KEY

      public static final String SUFFLE_SSL_FILE_BUFFER_SIZE_KEY
      See Also:
    • DEFAULT_SUFFLE_SSL_FILE_BUFFER_SIZE

      public static final int DEFAULT_SUFFLE_SSL_FILE_BUFFER_SIZE
      See Also:
    • MAX_SHUFFLE_CONNECTIONS

      public static final String MAX_SHUFFLE_CONNECTIONS
      See Also:
    • DEFAULT_MAX_SHUFFLE_CONNECTIONS

      public static final int DEFAULT_MAX_SHUFFLE_CONNECTIONS
      See Also:
    • MAX_SHUFFLE_THREADS

      public static final String MAX_SHUFFLE_THREADS
      See Also:
    • DEFAULT_MAX_SHUFFLE_THREADS

      public static final int DEFAULT_MAX_SHUFFLE_THREADS
      See Also:
    • SHUFFLE_BUFFER_SIZE

      public static final String SHUFFLE_BUFFER_SIZE
      See Also:
    • DEFAULT_SHUFFLE_BUFFER_SIZE

      public static final int DEFAULT_SHUFFLE_BUFFER_SIZE
      See Also:
    • SHUFFLE_TRANSFERTO_ALLOWED

      public static final String SHUFFLE_TRANSFERTO_ALLOWED
      See Also:
    • DEFAULT_SHUFFLE_TRANSFERTO_ALLOWED

      public static final boolean DEFAULT_SHUFFLE_TRANSFERTO_ALLOWED
      See Also:
    • WINDOWS_DEFAULT_SHUFFLE_TRANSFERTO_ALLOWED

      public static final boolean WINDOWS_DEFAULT_SHUFFLE_TRANSFERTO_ALLOWED
      See Also:
    • SHUFFLE_MAX_SESSION_OPEN_FILES

      public static final String SHUFFLE_MAX_SESSION_OPEN_FILES
      See Also:
    • DEFAULT_SHUFFLE_MAX_SESSION_OPEN_FILES

      public static final int DEFAULT_SHUFFLE_MAX_SESSION_OPEN_FILES
      See Also:
    • ms

      protected final org.apache.hadoop.metrics2.MetricsSystem ms
  • Constructor Details

    • ShuffleHandler

      public ShuffleHandler()
  • Method Details

    • serializeMetaData

      public static ByteBuffer serializeMetaData(int port) throws IOException
      Serialize the shuffle port into a ByteBuffer for use later on.
      Parameters:
      port - the port to be sent to the ApplciationMaster
      Returns:
      the serialized form of the port.
      Throws:
      IOException - on failure
    • deserializeMetaData

      public static int deserializeMetaData(ByteBuffer meta) throws IOException
      A helper function to deserialize the metadata returned by ShuffleHandler.
      Parameters:
      meta - the metadata returned by the ShuffleHandler
      Returns:
      the port the Shuffle Handler is listening on to serve shuffle data.
      Throws:
      IOException - on failure
    • serializeServiceData

      public static ByteBuffer serializeServiceData(org.apache.hadoop.security.token.Token<org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier> jobToken) throws IOException
      A helper function to serialize the JobTokenIdentifier to be sent to the ShuffleHandler as ServiceData.
      Parameters:
      jobToken - the job token to be used for authentication of shuffle data requests.
      Returns:
      the serialized version of the jobToken.
      Throws:
      IOException - on failure
    • deserializeServiceData

      public static org.apache.hadoop.security.token.Token<org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier> deserializeServiceData(ByteBuffer secret) throws IOException
      Throws:
      IOException
    • initializeApplication

      public void initializeApplication(org.apache.hadoop.yarn.server.api.ApplicationInitializationContext context)
      Specified by:
      initializeApplication in class org.apache.hadoop.yarn.server.api.AuxiliaryService
    • stopApplication

      public void stopApplication(org.apache.hadoop.yarn.server.api.ApplicationTerminationContext context)
      Specified by:
      stopApplication in class org.apache.hadoop.yarn.server.api.AuxiliaryService
    • serviceInit

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

      protected ShuffleChannelHandlerContext createHandlerContext()
    • serviceStart

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

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

      public ByteBuffer getMetaData()
      Specified by:
      getMetaData in class org.apache.hadoop.yarn.server.api.AuxiliaryService
    • getCurrentVersion

      protected org.apache.hadoop.yarn.server.records.Version getCurrentVersion()