Class AbstractHadoopNimbusPluginAutoCreds

java.lang.Object
org.apache.storm.common.AbstractHadoopNimbusPluginAutoCreds
All Implemented Interfaces:
CredentialKeyProvider, Shutdownable, ICredentialsRenewer, INimbusCredentialPlugin
Direct Known Subclasses:
AutoHBaseNimbus, AutoHDFSNimbus, AutoHiveNimbus

public abstract class AbstractHadoopNimbusPluginAutoCreds extends Object implements INimbusCredentialPlugin, ICredentialsRenewer, CredentialKeyProvider
The base class that for auto credential plugins that abstracts out some of the common functionality.
  • Field Details

  • Constructor Details

    • AbstractHadoopNimbusPluginAutoCreds

      public AbstractHadoopNimbusPluginAutoCreds()
  • Method Details

    • prepare

      public void prepare(Map<String,Object> conf)
      Description copied from interface: INimbusCredentialPlugin
      This method will be called when nimbus initializes.
      Specified by:
      prepare in interface ICredentialsRenewer
      Specified by:
      prepare in interface INimbusCredentialPlugin
      Parameters:
      conf - the cluster config
    • populateCredentials

      public void populateCredentials(Map<String,String> credentials, Map<String,Object> topologyConf, String topologyOwnerPrincipal)
      Description copied from interface: INimbusCredentialPlugin
      Method that will be called on nimbus as part of submit topology. This plugin will be called at least once during the submit Topology action. It will be not be called during activate instead the credentials return by this method will be merged with the other credentials in the topology and stored in zookeeper.
      Specified by:
      populateCredentials in interface INimbusCredentialPlugin
      Parameters:
      credentials - credentials map where more credentials will be added.
      topologyConf - topology configuration
      topologyOwnerPrincipal - the full principal name of the owner of the topology
    • renew

      public void renew(Map<String,String> credentials, Map<String,Object> topologyConf, String topologyOwnerPrincipal)
      Description copied from interface: ICredentialsRenewer
      Renew any credentials that need to be renewed. (Update the credentials if needed)
      Specified by:
      renew in interface ICredentialsRenewer
      Parameters:
      credentials - the credentials that may have something to renew.
      topologyConf - topology configuration.
      topologyOwnerPrincipal - the full principal name of the owner of the topology
    • getCredentials

      protected Set<org.apache.commons.math3.util.Pair<String,org.apache.hadoop.security.Credentials>> getCredentials(Map<String,String> credentials, List<String> configKeys)
    • fillHadoopConfiguration

      protected void fillHadoopConfiguration(Map topologyConf, String configKey, org.apache.hadoop.conf.Configuration configuration)
    • doPrepare

      protected abstract void doPrepare(Map<String,Object> conf)
      Prepare the plugin.
      Parameters:
      conf - the storm cluster conf set via storm.yaml
    • getConfigKeyString

      protected abstract String getConfigKeyString()
      The lookup key for the config key string.
      Returns:
      the config key string
    • getHadoopCredentials

      protected abstract byte[] getHadoopCredentials(Map<String,Object> topologyConf, String configKey, String topologyOwnerPrincipal)
    • getHadoopCredentials

      protected abstract byte[] getHadoopCredentials(Map<String,Object> topologyConf, String topologyOwnerPrincipal)
    • doRenew

      protected abstract void doRenew(Map<String,String> credentials, Map<String,Object> topologyConf, String topologyOwnerPrincipal)
    • getConfigKeys

      protected List<String> getConfigKeys(Map<String,Object> conf)