public class SliderAMClientProvider extends AbstractClientProvider implements SliderKeys
| Modifier and Type | Field and Description |
|---|---|
static String |
APPCONF_JSON |
static ProviderRole |
APPMASTER |
static String |
INSTANCE_RESOURCE_BASE |
static String |
INTERNAL_JSON |
static int |
KEY_AM |
protected static org.slf4j.Logger |
log |
protected static String |
NAME |
static String |
RESOURCES_JSON |
static List<ProviderRole> |
ROLES
List of roles
|
PROVIDER_RESOURCE_BASE, PROVIDER_RESOURCE_BASE_ROOT, providerUtilsADDONS_DIR, AGENT_TAR, AM_DIR_PREFIX, AM_FILTER_NAME, APP_CONTAINER_HEARTBEAT_INTERVAL_SEC, APP_CONTAINER_RELEASE_TIMEOUT, APP_DEF_DIR, APP_TYPE, APP_VERSION, APP_VERSION_UNKNOWN, CLUSTER_DIRECTORY, COMP_KEYSTORE_PASSWORD_ALIAS_DEFAULT, COMP_KEYSTORE_PASSWORD_ALIAS_KEY, COMP_KEYSTORE_PASSWORD_PROPERTY_KEY, COMP_STORES_REQUIRED_KEY, COMP_TRUSTSTORE_PASSWORD_ALIAS_DEFAULT, COMP_TRUSTSTORE_PASSWORD_ALIAS_KEY, COMP_TRUSTSTORE_PASSWORD_PROPERTY_KEY, COMPONENT_AM, CRT_FILE_NAME, CRT_PASS_FILE_NAME, CSR_FILE_NAME, DATA_DIR_NAME, DEFAULT_APP_PKG, DEFAULT_GC_OPTS, DEFAULT_JVM_HEAP, DEFAULT_YARN_MEMORY, GENERATED_CONF_DIR_NAME, GSON_JAR, HADOOP_PROXY_USER, HADOOP_USER_NAME, HDP_VERSION_PROP_NAME, HISTORY_DIR_NAME, HISTORY_FILENAME_CREATION_PATTERN, HISTORY_FILENAME_GLOB_PATTERN, HISTORY_FILENAME_MATCH_PATTERN, HISTORY_FILENAME_PREFIX, HISTORY_FILENAME_SUFFIX, INFRA_DIR_NAME, JCOMMANDER_JAR, JVM_ENABLE_ASSERTIONS, JVM_ENABLE_SYSTEM_ASSERTIONS, JVM_FORCE_IPV4, JVM_JAVA_HEADLESS, KEY_ALLOWED_PORT_RANGE, KEY_AM_ALLOWED_PORT_RANGE, KEY_FILE_NAME, KEYSTORE_FILE_NAME, KEYTAB_DIR, LOCAL_TARBALL_INSTALL_SUBDIR, LOG4J_PROP_FILENAME, LOG4J_SERVER_PROP_FILENAME, PACKAGE_DIRECTORY, PASS_LEN, PROPAGATE_RESOURCE_OPTION, PROPAGATED_CONF_DIR_NAME, PROPERTY_CONF_DIR, PROPERTY_LIB_DIR, PYTHONPATH, ROLE_AM_PRIORITY_INDEX, SECURITY_DIR, SLIDER_BASE_DIRECTORY, SLIDER_CLASSPATH_EXTRA, SLIDER_CLIENT_XML, SLIDER_DEPENDENCY_DIR, SLIDER_DEPENDENCY_DIR_PERMISSIONS, SLIDER_DEPENDENCY_HDP_PARENT_DIR, SLIDER_DEPENDENCY_LOCALIZED_DIR_LINK, SLIDER_DEPENDENCY_TAR_GZ_FILE_EXT, SLIDER_DEPENDENCY_TAR_GZ_FILE_NAME, SLIDER_JAR, SLIDER_JVM_OPTS, SLIDER_PASSPHRASE, SLIDER_SERVER_XML, SLIDER_XML, SNAPSHOT_CONF_DIR_NAME, STDERR_AM, STDOUT_AM, SUBMITTED_CONF_DIR, SYSPROP_LOG_DIR, SYSPROP_LOG4J_CONFIGURATION, TMP_DIR_PREFIX, TMP_LOGDIR_PREFIX, YARN_CONTAINER_PATHCLUSTER_DIRECTORY_PERMISSIONS, DATA_DIRECTORY_PERMISSIONS, DEFAULT_CLUSTER_DIRECTORY_PERMISSIONS, DEFAULT_DATA_DIRECTORY_PERMISSIONS, DEFAULT_YARN_QUEUE, DEFAULT_YARN_QUEUE_PRIORITY, DFS_DATANODE_KERBEROS_PRINCIPAL_KEY, DFS_NAMENODE_DELEGATION_KEY_UPDATE_INTERVAL_DEFAULT, DFS_NAMENODE_DELEGATION_KEY_UPDATE_INTERVAL_KEY, DFS_NAMENODE_DELEGATION_TOKEN_ALWAYS_USE_DEFAULT, DFS_NAMENODE_DELEGATION_TOKEN_ALWAYS_USE_KEY, DFS_NAMENODE_DELEGATION_TOKEN_MAX_LIFETIME_DEFAULT, DFS_NAMENODE_DELEGATION_TOKEN_MAX_LIFETIME_KEY, DFS_NAMENODE_DELEGATION_TOKEN_RENEW_INTERVAL_DEFAULT, DFS_NAMENODE_DELEGATION_TOKEN_RENEW_INTERVAL_KEY, DFS_NAMENODE_DU_RESERVED_KEY, DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY, DFS_NAMENODE_KEYTAB_FILE_KEY, FS_DEFAULT_NAME_CLASSIC, HADOOP_HTTP_FILTER_INITIALIZERS, IPC_CLIENT_FALLBACK_TO_SIMPLE_AUTH, IPC_CLIENT_RETRY_POLICY_ENABLED_DEFAULT, IPC_CLIENT_RETRY_POLICY_SPEC_DEFAULT, KEY_AM_KEYTAB_LOCAL_PATH, KEY_AM_LAUNCH_ENV, KEY_AM_LOGIN_KEYTAB_NAME, KEY_AM_LOGIN_KEYTAB_REQUIRED, KEY_AM_RESTART_LIMIT, KEY_HDFS_KEYTAB_DIR, KEY_IPC_CLIENT_RETRY_POLICY_ENABLED, KEY_IPC_CLIENT_RETRY_POLICY_SPEC, KEY_KERBEROS_PRINCIPAL, KEY_KEYSTORE_LOCATION, KEY_KEYTAB_PRINCIPAL, KEY_PROTOCOL_ACL, KEY_PROVIDER, KEY_SECURITY_ENABLED, KEY_SLIDER_AM_DEPENDENCY_CHECKS_DISABLED, KEY_SLIDER_BASE_PATH, KEY_TEMPLATE_ORIGIN, KEY_YARN_QUEUE, KEY_YARN_QUEUE_PRIORITY, PREFIX_PROVIDER, PYTHON_EXECUTABLE_PATH, REGISTRY_PATH, REGISTRY_ZK_QUORUM, X_DEV_INSECURE_DEFAULT, X_DEV_INSECURE_REQUIRED, X_DEV_INSECURE_WS| Constructor and Description |
|---|
SliderAMClientProvider(org.apache.hadoop.conf.Configuration conf) |
| Modifier and Type | Method and Description |
|---|---|
void |
addJVMOptions(AggregateConf aggregateConf,
JavaCommandLineBuilder cmdLine)
Extract any JVM options from the cluster specification and
add them to the command line
|
protected void |
addKeytabResourceIfNecessary(SliderFileSystem fileSystem,
AggregateConf instanceDescription,
Map<String,org.apache.hadoop.yarn.api.records.LocalResource> providerResources)
If the cluster is secure, and an HDFS installed keytab is available for AM
authentication, add this keytab as a local resource for the AM launch.
|
String |
getName() |
List<ProviderRole> |
getRoles() |
void |
preflightValidateClusterConfiguration(SliderFileSystem sliderFileSystem,
String clustername,
org.apache.hadoop.conf.Configuration configuration,
AggregateConf instanceDefinition,
org.apache.hadoop.fs.Path clusterDirPath,
org.apache.hadoop.fs.Path generatedConfDirPath,
boolean secure)
This is called pre-launch to validate that the cluster specification
is valid.
|
void |
prepareAMAndConfigForLaunch(SliderFileSystem fileSystem,
org.apache.hadoop.conf.Configuration serviceConf,
AbstractLauncher launcher,
AggregateConf instanceDescription,
org.apache.hadoop.fs.Path snapshotConfDirPath,
org.apache.hadoop.fs.Path generatedConfDirPath,
org.apache.hadoop.conf.Configuration clientConfExtras,
String libdir,
org.apache.hadoop.fs.Path tempPath,
boolean miniClusterTestRun)
The Slider AM sets up all the dependency JARs above slider.jar itself
Prepare the AM settings for launch
|
void |
prepareAMResourceRequirements(MapOperations sliderAM,
org.apache.hadoop.yarn.api.records.Resource capability)
Update the AM resource with any local needs
|
void |
prepareInstanceConfiguration(AggregateConf aggregateConf)
Any provider-side alteration of a configuration can take place here.
|
void |
validateInstanceDefinition(AggregateConf instanceDefinition,
SliderFileSystem fs)
Verify that an instance definition is considered valid by the provider
|
getApplicationTags, mergeTemplates, processClientOperationprotected static final org.slf4j.Logger log
protected static final String NAME
public static final String INSTANCE_RESOURCE_BASE
public static final String INTERNAL_JSON
public static final String APPCONF_JSON
public static final String RESOURCES_JSON
public static final List<ProviderRole> ROLES
public static final int KEY_AM
public static final ProviderRole APPMASTER
public SliderAMClientProvider(org.apache.hadoop.conf.Configuration conf)
public String getName()
getName in class AbstractClientProviderpublic List<ProviderRole> getRoles()
getRoles in class AbstractClientProviderpublic void preflightValidateClusterConfiguration(SliderFileSystem sliderFileSystem, String clustername, org.apache.hadoop.conf.Configuration configuration, AggregateConf instanceDefinition, org.apache.hadoop.fs.Path clusterDirPath, org.apache.hadoop.fs.Path generatedConfDirPath, boolean secure) throws SliderException, IOException
AbstractClientProviderpreflightValidateClusterConfiguration in class AbstractClientProvidersliderFileSystem - filesystemclustername - name of the clusterconfiguration - cluster configurationinstanceDefinition - cluster specificationclusterDirPath - directory of the clustergeneratedConfDirPath - path to place generated artifactssecure - flag to indicate that the cluster is secureSliderException - on any validation issueIOException - on any IO problempublic void validateInstanceDefinition(AggregateConf instanceDefinition, SliderFileSystem fs) throws SliderException
validateInstanceDefinition in class AbstractClientProviderinstanceDefinition - instance definitionSliderException - if the configuration is not validpublic void prepareAMAndConfigForLaunch(SliderFileSystem fileSystem, org.apache.hadoop.conf.Configuration serviceConf, AbstractLauncher launcher, AggregateConf instanceDescription, org.apache.hadoop.fs.Path snapshotConfDirPath, org.apache.hadoop.fs.Path generatedConfDirPath, org.apache.hadoop.conf.Configuration clientConfExtras, String libdir, org.apache.hadoop.fs.Path tempPath, boolean miniClusterTestRun) throws IOException, SliderException
prepareAMAndConfigForLaunch in class AbstractClientProviderfileSystem - filesystemserviceConf - configuration of the clientlauncher - launcher to set upinstanceDescription - instance description being launchedminiClusterTestRun - flag set to true on a mini cluster runIOExceptionSliderExceptionprotected void addKeytabResourceIfNecessary(SliderFileSystem fileSystem, AggregateConf instanceDescription, Map<String,org.apache.hadoop.yarn.api.records.LocalResource> providerResources) throws IOException, BadConfigException
fileSystem - instanceDescription - providerResources - IOExceptionBadConfigException - if there's no keytab and it is explicitly required.public void prepareAMResourceRequirements(MapOperations sliderAM, org.apache.hadoop.yarn.api.records.Resource capability)
capability - capability to updatepublic void addJVMOptions(AggregateConf aggregateConf, JavaCommandLineBuilder cmdLine) throws BadConfigException
BadConfigExceptionpublic void prepareInstanceConfiguration(AggregateConf aggregateConf) throws SliderException, IOException
AbstractClientProviderprepareInstanceConfiguration in class AbstractClientProvideraggregateConf - config to patchSliderException - Slider-specific issuesIOException - IO problemsCopyright © 2014–2015 The Apache Software Foundation. All rights reserved.