/** * Propagate any critical principals from the current site config down to the HBase one. */ public void propagatePrincipals() { String dfsPrincipal = conf.get(SliderXmlConfKeys.DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY); if (dfsPrincipal != null) { String siteDfsPrincipal = OptionKeys.SITE_XML_PREFIX + SliderXmlConfKeys.DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY; instanceDescription.getAppConfOperations().set(siteDfsPrincipal, dfsPrincipal); } }
/** * Propagate any critical principals from the current site config down to the HBase one. */ public void propagatePrincipals() { String dfsPrincipal = conf.get(SliderXmlConfKeys.DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY); if (dfsPrincipal != null) { String siteDfsPrincipal = OptionKeys.SITE_XML_PREFIX + SliderXmlConfKeys.DFS_NAMENODE_KERBEROS_PRINCIPAL_KEY; instanceDescription.getAppConfOperations().set(siteDfsPrincipal, dfsPrincipal); } }
public void propagateFilename() { String fsDefaultName = conf.get( CommonConfigurationKeysPublic.FS_DEFAULT_NAME_KEY); instanceDescription.getAppConfOperations().set(OptionKeys.SITE_XML_PREFIX + CommonConfigurationKeysPublic.FS_DEFAULT_NAME_KEY, fsDefaultName ); instanceDescription.getAppConfOperations().set(OptionKeys.SITE_XML_PREFIX + SliderXmlConfKeys.FS_DEFAULT_NAME_CLASSIC, fsDefaultName ); }
public void propagateFilename() { String fsDefaultName = conf.get( CommonConfigurationKeysPublic.FS_DEFAULT_NAME_KEY); instanceDescription.getAppConfOperations().set(OptionKeys.SITE_XML_PREFIX + CommonConfigurationKeysPublic.FS_DEFAULT_NAME_KEY, fsDefaultName ); instanceDescription.getAppConfOperations().set(OptionKeys.SITE_XML_PREFIX + SliderXmlConfKeys.FS_DEFAULT_NAME_CLASSIC, fsDefaultName ); }
private void propagatePythonExecutable(Configuration config, AggregateConf instanceDefinition) { String pythonExec = config.get( PYTHON_EXECUTABLE_PATH); if (pythonExec != null) { instanceDefinition.getAppConfOperations().getGlobalOptions().putIfUnset( PYTHON_EXECUTABLE_PATH, pythonExec); } }
/** * Is this app package versioned? * * @return true if {@link SliderKeys#APP_VERSION} was set in the app config * provided during creation of this app * @since 0.80.0-incubating */ public boolean isVersioned() { return StringUtils.isNotEmpty(getAppConfOperations().getGlobalOptions() .get(SliderKeys.APP_VERSION)); }
/** * Is this app package versioned? * * @return true if {@link SliderKeys#APP_VERSION} was set in the app config * provided during creation of this app * @since 0.80.0-incubating */ public boolean isVersioned() { return StringUtils.isNotEmpty(getAppConfOperations().getGlobalOptions() .get(SliderKeys.APP_VERSION)); }
private void propagatePythonExecutable(Configuration config, AggregateConf instanceDefinition) { String pythonExec = config.get( PYTHON_EXECUTABLE_PATH); if (pythonExec != null) { instanceDefinition.getAppConfOperations().getGlobalOptions().putIfUnset( PYTHON_EXECUTABLE_PATH, pythonExec); } }
public boolean isKeytabProvided() { String keytabLocalPath = instanceDefinition.getAppConfOperations() .getComponent(SliderKeys.COMPONENT_AM) .get(SliderXmlConfKeys.KEY_AM_KEYTAB_LOCAL_PATH); String keytabName = instanceDefinition.getAppConfOperations() .getComponent(SliderKeys.COMPONENT_AM) .get(SliderXmlConfKeys.KEY_AM_LOGIN_KEYTAB_NAME); return StringUtils.isNotBlank(keytabLocalPath) || StringUtils.isNotBlank(keytabName); }
public boolean isKeytabProvided() { String keytabLocalPath = instanceDefinition.getAppConfOperations() .getComponent(SliderKeys.COMPONENT_AM) .get(SliderXmlConfKeys.KEY_AM_KEYTAB_LOCAL_PATH); String keytabName = instanceDefinition.getAppConfOperations() .getComponent(SliderKeys.COMPONENT_AM) .get(SliderXmlConfKeys.KEY_AM_LOGIN_KEYTAB_NAME); return StringUtils.isNotBlank(keytabLocalPath) || StringUtils.isNotBlank(keytabName); }
public String getPrincipal () throws IOException { String principal = instanceDefinition.getAppConfOperations() .getComponent(SliderKeys.COMPONENT_AM).get(SliderXmlConfKeys.KEY_KEYTAB_PRINCIPAL); if (SliderUtils.isUnset(principal)) { principal = UserGroupInformation.getLoginUser().getShortUserName(); log.info("No principal set in the slider configuration. Will use AM login" + " identity {} to attempt keytab-based login", principal); } return principal; }
public String getPrincipal () throws IOException { String principal = instanceDefinition.getAppConfOperations() .getComponent(SliderKeys.COMPONENT_AM).get(SliderXmlConfKeys.KEY_KEYTAB_PRINCIPAL); if (SliderUtils.isUnset(principal)) { principal = UserGroupInformation.getLoginUser().getShortUserName(); log.info("No principal set in the slider configuration. Will use AM login" + " identity {} to attempt keytab-based login", principal); } return principal; }
private long getContainerReleaseTimeout() { // Get container release timeout in millis or 0 if the property is not set. // If non-zero then add the agent heartbeat delay time, since it can take up // to that much time for agents to receive the stop command. int timeout = getInstanceDefinition().getAppConfOperations() .getGlobalOptions() .getOptionInt(SliderKeys.APP_CONTAINER_RELEASE_TIMEOUT, 0); if (timeout > 0) { timeout += SliderKeys.APP_CONTAINER_HEARTBEAT_INTERVAL_SEC; } // convert to millis long timeoutInMillis = timeout * 1000l; log.info("Container release timeout in millis = {}", timeoutInMillis); return timeoutInMillis; }
/** * Reads and sets the heartbeat monitoring interval. If bad value is provided then log it and set to default. * * @param instanceDefinition */ private void initializeAgentDebugCommands(AggregateConf instanceDefinition) { String launchParameterStr = instanceDefinition.getAppConfOperations(). getGlobalOptions().getOption(AgentKeys.AGENT_INSTANCE_DEBUG_DATA, ""); agentLaunchParameter = new AgentLaunchParameter(launchParameterStr); }
/** * Reads and sets the heartbeat monitoring interval. If bad value is provided then log it and set to default. * * @param instanceDefinition */ private void initializeAgentDebugCommands(AggregateConf instanceDefinition) { String launchParameterStr = instanceDefinition.getAppConfOperations(). getGlobalOptions().getOption(AgentKeys.AGENT_INSTANCE_DEBUG_DATA, ""); agentLaunchParameter = new AgentLaunchParameter(launchParameterStr); }
@Override public void prepareInstanceConfiguration(AggregateConf aggregateConf) throws SliderException, IOException { String resourceTemplate = INSTANCE_RESOURCE_BASE + "resources.json"; String appConfTemplate = INSTANCE_RESOURCE_BASE + "appconf.json"; mergeTemplates(aggregateConf, null, resourceTemplate, appConfTemplate); aggregateConf.getAppConfOperations().set(OPTION_ACCUMULO_PASSWORD, createAccumuloPassword()); }
/** * Build up the port scanner. This may include setting a port range. */ private void buildPortScanner(AggregateConf instanceDefinition) throws BadConfigException { portScanner = new PortScanner(); String portRange = instanceDefinition. getAppConfOperations().getGlobalOptions(). getOption(SliderKeys.KEY_ALLOWED_PORT_RANGE, "0"); if (!"0".equals(portRange)) { portScanner.setPortRange(portRange); } }
/** * Build up the port scanner. This may include setting a port range. */ private void buildPortScanner(AggregateConf instanceDefinition) throws BadConfigException { portScanner = new PortScanner(); String portRange = instanceDefinition. getAppConfOperations().getGlobalOptions(). getOption(SliderKeys.KEY_ALLOWED_PORT_RANGE, "0"); if (!"0".equals(portRange)) { portScanner.setPortRange(portRange); } }
@Test public void testParameterParsing() throws IOException { AgentProviderService aps = createAgentProviderService(new Configuration()); AggregateConf aggConf = new AggregateConf(); ConfTreeOperations treeOps = aggConf.getAppConfOperations(); treeOps.getGlobalOptions().put(AgentKeys.SYSTEM_CONFIGS, "core-site,yarn-site, core-site "); List<String> configs = aps.getSystemConfigurationsRequested(treeOps); Assert.assertEquals(2, configs.size()); Assert.assertTrue(configs.contains("core-site")); Assert.assertFalse(configs.contains("bore-site")); }
@Test public void testParameterParsing() throws IOException { AgentProviderService aps = createAgentProviderService(new Configuration()); AggregateConf aggConf = new AggregateConf(); ConfTreeOperations treeOps = aggConf.getAppConfOperations(); treeOps.getGlobalOptions().put(AgentKeys.SYSTEM_CONFIGS, "core-site,yarn-site, core-site "); List<String> configs = aps.getSystemConfigurationsRequested(treeOps); Assert.assertEquals(2, configs.size()); Assert.assertTrue(configs.contains("core-site")); Assert.assertFalse(configs.contains("bore-site")); }