SLIDER-149 catching up with changes in YARN-913 branch
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/6cac8a5b Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/6cac8a5b Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/6cac8a5b Branch: refs/heads/feature/SLIDER-149_Support_a_YARN_service_registry Commit: 6cac8a5ba9c0cb5d0e24c170250070482e85011b Parents: 8a48392 Author: Steve Loughran <[email protected]> Authored: Tue Aug 26 17:35:08 2014 +0100 Committer: Steve Loughran <[email protected]> Committed: Tue Aug 26 17:35:08 2014 +0100 ---------------------------------------------------------------------- .../org/apache/slider/client/SliderClient.java | 40 +++++++++++++------- .../utility/AbstractSliderLaunchedService.java | 14 ++++--- 2 files changed, 35 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/6cac8a5b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 78aa923..ebf2133 100644 --- a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -19,6 +19,7 @@ package org.apache.slider.client; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Preconditions; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.permission.FsPermission; @@ -1168,11 +1169,8 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe addConfOptionToCLI(commandLine, config, REGISTRY_PATH, DEFAULT_REGISTRY_PATH); - addMandatoryConfOptionToCLI(commandLine, config, RegistryConstants.REGISTRY_ZK_QUORUM); + addMandatoryConfOptionToCLI(commandLine, config, RegistryConstants.KEY_REGISTRY_ZK_QUORUM); addMandatoryConfOptionToCLI(commandLine, config, REGISTRY_ZK_QUORUM); - define(commandLine, RegistryConstants.REGISTRY_ZK_QUORUM, - getRegistryOperations().getCurrentZookeeperQuorum()); - if (clusterSecure) { // if the cluster is secure, make sure that @@ -1291,12 +1289,7 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe Configuration conf, String key) { String val = conf.get(key); - if (val != null) { - define(cmdLine, key, val); - return true; - } else { - return false; - } + return defineIfSet(cmdLine, key, val); } private String addConfOptionToCLI(CommandLineBuilder cmdLine, @@ -1309,15 +1302,34 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe } /** - * Add a define command to the CLI - * @param cmdLine - * @param key - * @param val + * Add a <code>-D key=val</code> command to the CLI + * @param cmdLine command line + * @param key key + * @param val value */ private void define(CommandLineBuilder cmdLine, String key, String val) { + Preconditions.checkArgument(key != null, "null key"); + Preconditions.checkArgument(val != null, "null value"); cmdLine.add(Arguments.ARG_DEFINE, key + "=" + val); } + /** + * Add a <code>-D key=val</code> command to the CLI if <code>val</code> + * is not null + * @param cmdLine command line + * @param key key + * @param val value + */ + private boolean defineIfSet(CommandLineBuilder cmdLine, String key, String val) { + Preconditions.checkArgument(key != null, "null key"); + if (val != null) { + define(cmdLine, key, val); + return true; + } else { + return false; + } + } + private void addMandatoryConfOptionToCLI(CommandLineBuilder cmdLine, Configuration conf, String key) throws BadConfigException { http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/6cac8a5b/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java b/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java index 81ddfc2..3dafcd2 100644 --- a/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java +++ b/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java @@ -18,7 +18,6 @@ package org.apache.slider.server.services.utility; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.registry.client.api.RegistryConstants; @@ -50,7 +49,7 @@ public abstract class AbstractSliderLaunchedService extends @Override protected void serviceInit(Configuration conf) throws Exception { String quorum = lookupZKQuorum(); - conf.set(RegistryConstants.REGISTRY_ZK_QUORUM, quorum); + conf.set(RegistryConstants.KEY_REGISTRY_ZK_QUORUM, quorum); super.serviceInit(conf); } @@ -75,14 +74,19 @@ public abstract class AbstractSliderLaunchedService extends * @throws BadConfigException if it is not there or invalid */ public String lookupZKQuorum() throws BadConfigException { - String registryQuorum = getConfig().get(RegistryConstants.REGISTRY_ZK_QUORUM); + // YARN registry first + String registryQuorum = getConfig().get(RegistryConstants.KEY_REGISTRY_ZK_QUORUM); + + // slider value can overrride it registryQuorum = getConfig().get( SliderXmlConfKeys.REGISTRY_ZK_QUORUM, registryQuorum); + + // though if neither is set: trouble if (SliderUtils.isUnset(registryQuorum)) { throw new BadConfigException( "No Zookeeper quorum provided in the" - + " configuration property " + RegistryConstants.REGISTRY_ZK_QUORUM + + " configuration property " + RegistryConstants.KEY_REGISTRY_ZK_QUORUM ); } ZookeeperUtils.splitToHostsAndPortsStrictly(registryQuorum); @@ -119,7 +123,7 @@ public abstract class AbstractSliderLaunchedService extends // push back the slider registry entry if needed String quorum = lookupZKQuorum(); - getConfig().set(RegistryConstants.REGISTRY_ZK_QUORUM, quorum); + getConfig().set(RegistryConstants.KEY_REGISTRY_ZK_QUORUM, quorum); RegistryOperationsService registryWriterService = createRegistryOperationsInstance(); deployChildService(registryWriterService);
