Class RMProxy<T>

java.lang.Object
org.apache.hadoop.yarn.client.RMProxy<T>
Direct Known Subclasses:
ClientRMProxy

@Public @Evolving public class RMProxy<T> extends Object
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Verify the passed protocol is supported.
    static org.apache.hadoop.io.retry.RetryPolicy
    createRetryPolicy(org.apache.hadoop.conf.Configuration conf, boolean isHAEnabled)
    Fetch retry policy from Configuration.
    protected static org.apache.hadoop.io.retry.RetryPolicy
    createRetryPolicy(org.apache.hadoop.conf.Configuration conf, long retryTime, long retryInterval, boolean isHAEnabled)
    Fetch retry policy from Configuration and create the retry policy with specified retryTime and retry interval.
    protected static <T> T
    createRMProxy(org.apache.hadoop.conf.Configuration configuration, Class<T> protocol, RMProxy<T> instance)
    Currently, used by Client and AM only Create a proxy for the specified protocol.
    protected static <T> T
    createRMProxy(org.apache.hadoop.conf.Configuration configuration, Class<T> protocol, RMProxy<T> instance, long retryTime, long retryInterval)
    Currently, used by NodeManagers only.
    protected static <T> T
    createRMProxyFederation(org.apache.hadoop.conf.Configuration configuration, Class<T> protocol, RMProxy<T> instance)
    This functionality is only used for NodeManager and only in non-HA mode.
    <T> T
    getProxy(org.apache.hadoop.conf.Configuration conf, Class<T> protocol, InetSocketAddress rmAddress)
    Get a proxy to the RM at the specified address.
    getRMAddress(org.apache.hadoop.yarn.conf.YarnConfiguration conf, Class<?> protocol)
    Get the ResourceManager address from the provided Configuration for the given protocol.
    protected static <T> RMFailoverProxyProvider<T>
    getRMFailoverProxyProvider(org.apache.hadoop.yarn.conf.YarnConfiguration conf, Class<T> protocol, RMProxy<T> instance)
     
    protected static <T> T
    newProxyInstanceFederation(org.apache.hadoop.yarn.conf.YarnConfiguration conf, Class<T> protocol, RMProxy<T> instance, org.apache.hadoop.io.retry.RetryPolicy retryPolicy)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RMProxy

      protected RMProxy()
  • Method Details

    • checkAllowedProtocols

      @Private public void checkAllowedProtocols(Class<?> protocol)
      Verify the passed protocol is supported.
      Parameters:
      protocol - protocol.
    • getRMAddress

      @Private public InetSocketAddress getRMAddress(org.apache.hadoop.yarn.conf.YarnConfiguration conf, Class<?> protocol) throws IOException
      Get the ResourceManager address from the provided Configuration for the given protocol.
      Parameters:
      conf - configuration.
      protocol - protocol.
      Returns:
      inet socket address.
      Throws:
      IOException - io error occur.
    • createRMProxy

      @Private protected static <T> T createRMProxy(org.apache.hadoop.conf.Configuration configuration, Class<T> protocol, RMProxy<T> instance) throws IOException
      Currently, used by Client and AM only Create a proxy for the specified protocol. For non-HA, this is a direct connection to the ResourceManager address. When HA is enabled, the proxy handles the failover between the ResourceManagers as well.
      Type Parameters:
      T - Generic T.
      Parameters:
      configuration - configuration.
      protocol - protocol.
      instance - RMProxy instance.
      Returns:
      RMProxy.
      Throws:
      IOException - io error occur.
    • createRMProxyFederation

      protected static <T> T createRMProxyFederation(org.apache.hadoop.conf.Configuration configuration, Class<T> protocol, RMProxy<T> instance) throws IOException
      This functionality is only used for NodeManager and only in non-HA mode. Its purpose is to ensure that when initializes UAM, it can find the correct cluster.
      Type Parameters:
      T - Generic T.
      Parameters:
      configuration - configuration.
      protocol - protocol.
      instance - RMProxy instance.
      Returns:
      RMProxy.
      Throws:
      IOException - io error occur.
    • newProxyInstanceFederation

      protected static <T> T newProxyInstanceFederation(org.apache.hadoop.yarn.conf.YarnConfiguration conf, Class<T> protocol, RMProxy<T> instance, org.apache.hadoop.io.retry.RetryPolicy retryPolicy)
    • getRMFailoverProxyProvider

      protected static <T> RMFailoverProxyProvider<T> getRMFailoverProxyProvider(org.apache.hadoop.yarn.conf.YarnConfiguration conf, Class<T> protocol, RMProxy<T> instance)
    • createRMProxy

      @Private protected static <T> T createRMProxy(org.apache.hadoop.conf.Configuration configuration, Class<T> protocol, RMProxy<T> instance, long retryTime, long retryInterval) throws IOException
      Currently, used by NodeManagers only. Create a proxy for the specified protocol. For non-HA, this is a direct connection to the ResourceManager address. When HA is enabled, the proxy handles the failover between the ResourceManagers as well.
      Type Parameters:
      T - Generic T.
      Parameters:
      configuration - configuration.
      protocol - protocol.
      instance - RMProxy instance.
      retryTime - retry Time.
      retryInterval - retry Interval.
      Returns:
      RMProxy.
      Throws:
      IOException - io error occur.
    • getProxy

      @Private public <T> T getProxy(org.apache.hadoop.conf.Configuration conf, Class<T> protocol, InetSocketAddress rmAddress) throws IOException
      Get a proxy to the RM at the specified address. To be used to create a RetryProxy.
      Type Parameters:
      T - Generic T.
      Parameters:
      conf - configuration.
      protocol - protocol.
      rmAddress - rmAddress.
      Returns:
      RM proxy.
      Throws:
      IOException - io error occur.
    • createRetryPolicy

      @Private @VisibleForTesting public static org.apache.hadoop.io.retry.RetryPolicy createRetryPolicy(org.apache.hadoop.conf.Configuration conf, boolean isHAEnabled)
      Fetch retry policy from Configuration.
      Parameters:
      conf - configuration.
      isHAEnabled - is HA enabled.
      Returns:
      RetryPolicy.
    • createRetryPolicy

      protected static org.apache.hadoop.io.retry.RetryPolicy createRetryPolicy(org.apache.hadoop.conf.Configuration conf, long retryTime, long retryInterval, boolean isHAEnabled)
      Fetch retry policy from Configuration and create the retry policy with specified retryTime and retry interval.
      Parameters:
      conf - configuration.
      retryTime - retry time.
      retryInterval - retry interval.
      isHAEnabled - is HA enabled.
      Returns:
      RetryPolicy.