Class NimbusClient

All Implemented Interfaces:
AutoCloseable

public class NimbusClient extends ThriftClient
Client used for connecting to nimbus. Typically you want to use a variant of the `getConfiguredClient` static method to get a client to use, as directly putting in a host and port does not support nimbus high availability.
  • Field Details

    • isLocal

      public final boolean isLocal
      Indicates if this is a special client that is overwritten for local mode.
  • Constructor Details

    • NimbusClient

      @Deprecated public NimbusClient(Map<String,Object> conf, String host, int port) throws org.apache.storm.thrift.transport.TTransportException
      Deprecated.
      Constructor, Please try to use `getConfiguredClient` instead of calling this directly.
      Parameters:
      conf - the conf for the client.
      host - the host the client is to talk to.
      port - the port the client is to talk to.
      Throws:
      org.apache.storm.thrift.transport.TTransportException - on any error.
    • NimbusClient

      public NimbusClient(Map<String,Object> conf, String host, int port, Integer timeout) throws org.apache.storm.thrift.transport.TTransportException
      Constructor, Please try to use `getConfiguredClient` instead of calling this directly.
      Parameters:
      conf - the conf for the client.
      host - the host the client is to talk to.
      port - the port the client is to talk to.
      timeout - the timeout to use when connecting.
      Throws:
      org.apache.storm.thrift.transport.TTransportException - on any error.
    • NimbusClient

      public NimbusClient(Map<String,Object> conf, String host, Integer port, Integer timeout, String asUser) throws org.apache.storm.thrift.transport.TTransportException
      Constructor, Please try to use `getConfiguredClientAs` instead of calling this directly.
      Parameters:
      conf - the conf for the client.
      host - the host the client is to talk to.
      port - the port the client is to talk to.
      timeout - the timeout to use when connecting.
      asUser - the name of the user you want to impersonate (use with caution as it is not always supported).
      Throws:
      org.apache.storm.thrift.transport.TTransportException - on any error.
    • NimbusClient

      public NimbusClient(Map<String,Object> conf, String host) throws org.apache.storm.thrift.transport.TTransportException
      Constructor, Please try to use `getConfiguredClient` instead of calling this directly.
      Parameters:
      conf - the conf for the client.
      host - the host the client is to talk to.
      Throws:
      org.apache.storm.thrift.transport.TTransportException - on any error.
  • Method Details

    • isLocalOverride

      public static boolean isLocalOverride()
      Is the local override set or not.
      Returns:
      true of new clients will be overridden to connect to a local cluster and not the configured remote cluster.
    • withConfiguredClient

      public static void withConfiguredClient(NimbusClient.WithNimbus cb) throws Exception
      Execute cb with a configured nimbus client that will be closed once cb returns.
      Parameters:
      cb - the callback to send to nimbus.
      Throws:
      Exception - on any kind of error.
    • withConfiguredClient

      public static void withConfiguredClient(NimbusClient.WithNimbus cb, Map<String,Object> conf) throws Exception
      Execute cb with a configured nimbus client that will be closed once cb returns.
      Parameters:
      cb - the callback to send to nimbus.
      conf - the conf to use instead of reading the global storm conf.
      Throws:
      Exception - on any kind of error.
    • getConfiguredClient

      public static NimbusClient getConfiguredClient(Map<String,Object> conf)
      Get a nimbus client as configured by conf.
      Parameters:
      conf - the configuration to use.
      Returns:
      the client, don't forget to close it when done.
    • getConfiguredClient

      public static NimbusClient getConfiguredClient(Map<String,Object> conf, Integer timeout)
      Get a nimbus client as configured by conf.
      Parameters:
      conf - the configuration to use.
      timeout - the timeout to use when connecting.
      Returns:
      the client, don't forget to close it when done.
    • getConfiguredClientAs

      public static NimbusClient getConfiguredClientAs(Map<String,Object> conf, String asUser)
      Get a nimbus client as configured by conf.
      Parameters:
      conf - the configuration to use.
      asUser - the user to impersonate (this does not always work).
      Returns:
      the client, don't forget to close it when done.
    • getConfiguredClientAs

      public static NimbusClient getConfiguredClientAs(Map<String,Object> conf, String asUser, Integer timeout)
      Get a nimbus client as configured by conf.
      Parameters:
      conf - the configuration to use.
      asUser - the user to impersonate (this does not always work).
      timeout - the timeout to use when connecting.
      Returns:
      the client, don't forget to close it when done.
    • getClient

      public Nimbus.Iface getClient()
      Get the underlying thrift client.
      Returns:
      the underlying thrift client.