public class AgentClientProvider extends AbstractClientProvider implements AgentKeys, SliderKeys
| Modifier and Type | Field and Description |
|---|---|
static String |
E_COULD_NOT_READ_METAINFO |
protected static org.slf4j.Logger |
log |
protected static String |
NAME |
PROVIDER_RESOURCE_BASE, PROVIDER_RESOURCE_BASE_ROOTADDON_DEFINITION_DIR, ADDON_FOR_ALL_COMPONENTS, ADDON_PREFIX, ADDONS, AGENT_CONF, AGENT_CONFIG_FILE, AGENT_INSTALL_DIR, AGENT_INSTANCE_DEBUG_DATA, AGENT_MAIN_SCRIPT, AGENT_MAIN_SCRIPT_ROOT, AGENT_OUT_FILE, AGENT_VERSION, AGENT_VERSION_FILE, APP_DEF, APP_DEFINITION_DIR, APP_HOME, APP_ROOT, ARG_DEBUG, ARG_HOST, ARG_LABEL, ARG_PORT, ARG_SECURED_PORT, ARG_ZOOKEEPER_QUORUM, ARG_ZOOKEEPER_REGISTRY_PATH, CERT_FILE_LOCALIZATION_PATH, CONF_RESOURCE, CONTROLLER_URL, CREATE_DEF_ZK_NODE, HEARTBEAT_MONITOR_INTERVAL, INFRA_RUN_SECURITY_DIR, JAVA_HOME, KEY_AGENT_TWO_WAY_SSL_ENABLED, KEY_CONTAINER_LAUNCH_DELAY, PACKAGE_LIST, PACKAGE_PATH, PROVIDER_AGENT, PYTHON_EXE, ROLE_NODE, RUNAS_USER, SCRIPT_PATH, SERVICE_NAME, SYSTEM_CONFIGS, TEST_RELAX_VERIFICATION, WAIT_HEARTBEATADDONS_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| Modifier | Constructor and Description |
|---|---|
protected |
AgentClientProvider(org.apache.hadoop.conf.Configuration conf) |
| Modifier and Type | Method and Description |
|---|---|
Set<String> |
getApplicationTags(SliderFileSystem fileSystem,
String appDef)
Return a set of application specific string tags.
|
protected org.codehaus.jettison.json.JSONObject |
getCommandJson(org.codehaus.jettison.json.JSONObject defaultConfig,
org.codehaus.jettison.json.JSONObject inputConfig,
Metainfo metainfo,
File clientInstallPath,
String name) |
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 instanceDefinition,
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)
Prepare the AM settings for launch
|
void |
processClientOperation(SliderFileSystem fileSystem,
String operation,
File clientInstallPath,
File appPackage,
org.codehaus.jettison.json.JSONObject config,
String name)
Process client operations for applications such as install, configure
|
protected void |
runCommand(File appPkgDir,
File agentPkgDir,
File cmdDir,
String clientScript) |
void |
validateInstanceDefinition(AggregateConf instanceDefinition,
SliderFileSystem fs)
Verify that an instance definition is considered valid by the provider
|
mergeTemplates, prepareInstanceConfigurationprotected static final org.slf4j.Logger log
protected static final String NAME
public static final String E_COULD_NOT_READ_METAINFO
protected AgentClientProvider(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
AbstractClientProvidervalidateInstanceDefinition in class AbstractClientProviderinstanceDefinition - instance definitionSliderException - if the configuration is not validpublic void prepareAMAndConfigForLaunch(SliderFileSystem fileSystem, org.apache.hadoop.conf.Configuration serviceConf, AbstractLauncher launcher, AggregateConf instanceDefinition, 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
AbstractClientProviderprepareAMAndConfigForLaunch in class AbstractClientProviderfileSystem - filesystemserviceConf - configuration of the clientlauncher - launcher to set upinstanceDefinition - instance description being launchedminiClusterTestRun - flag set to true on a mini cluster runIOExceptionSliderExceptionpublic Set<String> getApplicationTags(SliderFileSystem fileSystem, String appDef) throws SliderException
AbstractClientProvidergetApplicationTags in class AbstractClientProviderSliderExceptionpublic void processClientOperation(SliderFileSystem fileSystem, String operation, File clientInstallPath, File appPackage, org.codehaus.jettison.json.JSONObject config, String name) throws SliderException
AbstractClientProviderprocessClientOperation in class AbstractClientProviderSliderExceptionprotected void runCommand(File appPkgDir, File agentPkgDir, File cmdDir, String clientScript) throws SliderException
SliderExceptionprotected org.codehaus.jettison.json.JSONObject getCommandJson(org.codehaus.jettison.json.JSONObject defaultConfig,
org.codehaus.jettison.json.JSONObject inputConfig,
Metainfo metainfo,
File clientInstallPath,
String name)
throws SliderException
SliderExceptionCopyright © 2014–2015 The Apache Software Foundation. All rights reserved.