Fixed notes
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/c392cdc9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/c392cdc9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/c392cdc9 Branch: refs/heads/ignite-gg-9615 Commit: c392cdc9adb759cb73bbfc7f01e3d4be3cc65ea6 Parents: 3a2376c Author: nikolay_tikhonov <ntikho...@gridgain.com> Authored: Thu Jul 9 16:01:30 2015 +0300 Committer: nikolay_tikhonov <ntikho...@gridgain.com> Committed: Thu Jul 9 16:01:30 2015 +0300 ---------------------------------------------------------------------- .../apache/ignite/yarn/ApplicationMaster.java | 10 +++- .../apache/ignite/yarn/ClusterProperties.java | 48 ++++++++++++++++++++ .../apache/ignite/yarn/IgniteYarnClient.java | 7 ++- 3 files changed, 63 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c392cdc9/modules/yarn/src/main/java/org/apache/ignite/yarn/ApplicationMaster.java ---------------------------------------------------------------------- diff --git a/modules/yarn/src/main/java/org/apache/ignite/yarn/ApplicationMaster.java b/modules/yarn/src/main/java/org/apache/ignite/yarn/ApplicationMaster.java index 739a71a..f57df92 100644 --- a/modules/yarn/src/main/java/org/apache/ignite/yarn/ApplicationMaster.java +++ b/modules/yarn/src/main/java/org/apache/ignite/yarn/ApplicationMaster.java @@ -93,6 +93,9 @@ public class ApplicationMaster implements AMRMClientAsync.CallbackHandler { env.put("IGNITE_TCP_DISCOVERY_ADDRESSES", getAddress(c.getNodeId().getHost())); + if (props.jvmOpts() != null && !props.jvmOpts().isEmpty()) + env.put("JVM_OPTS", props.jvmOpts()); + ctx.setEnvironment(env); Map<String, LocalResource> resources = new HashMap<>(); @@ -100,6 +103,10 @@ public class ApplicationMaster implements AMRMClientAsync.CallbackHandler { resources.put("ignite", IgniteYarnUtils.setupFile(ignitePath, fs, LocalResourceType.ARCHIVE)); resources.put("ignite-config.xml", IgniteYarnUtils.setupFile(cfgPath, fs, LocalResourceType.FILE)); + if (props.licencePath() != null) + resources.put("gridgain-license.xml", + IgniteYarnUtils.setupFile(new Path(props.licencePath()), fs, LocalResourceType.FILE)); + if (props.userLibs() != null) resources.put("libs", IgniteYarnUtils.setupFile(new Path(props.userLibs()), fs, LocalResourceType.FILE)); @@ -108,7 +115,8 @@ public class ApplicationMaster implements AMRMClientAsync.CallbackHandler { ctx.setCommands( Collections.singletonList( - "cp -r ./libs/* ./ignite/*/libs/ || true && " + (props.licencePath() != null ? "cp gridgain-license.xml ./ignite/*/ || true && " : "") + + "cp -r ./libs/* ./ignite/*/libs/ || true && " + "./ignite/*/bin/ignite.sh " + "./ignite-config.xml" + " -J-Xmx" + c.getResource().getMemory() + "m" http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c392cdc9/modules/yarn/src/main/java/org/apache/ignite/yarn/ClusterProperties.java ---------------------------------------------------------------------- diff --git a/modules/yarn/src/main/java/org/apache/ignite/yarn/ClusterProperties.java b/modules/yarn/src/main/java/org/apache/ignite/yarn/ClusterProperties.java index d1a6390..a2d88c0 100644 --- a/modules/yarn/src/main/java/org/apache/ignite/yarn/ClusterProperties.java +++ b/modules/yarn/src/main/java/org/apache/ignite/yarn/ClusterProperties.java @@ -87,6 +87,24 @@ public class ClusterProperties { private String igniteWorkDir = DEFAULT_IGNITE_WORK_DIR; /** */ + public static final String IGNITE_PATH = "IGNITE_PATH"; + + /** Ignite path. */ + private String ignitePath = null; + + /** */ + public static final String LICENCE_PATH = "LICENCE_PATH"; + + /** Licence path. */ + private String licencePath = null; + + /** */ + public static final String IGNITE_JVM_OPTS = "IGNITE_JVM_OPTS"; + + /** JVM opts. */ + private String jvmOpts = null; + + /** */ public static final String IGNITE_LOCAL_WORK_DIR = "IGNITE_LOCAL_WORK_DIR"; /** */ @@ -231,6 +249,27 @@ public class ClusterProperties { } /** + * @return Licence path. + */ + public String licencePath() { + return licencePath; + } + + /** + * @return Licence path. + */ + public String ignitePath() { + return ignitePath; + } + + /** + * @return Licence path. + */ + public String jvmOpts() { + return jvmOpts; + } + + /** * @return Host name constraint. */ public Pattern hostnameConstraint() { @@ -260,6 +299,9 @@ public class ClusterProperties { prop.nodeCnt = getDoubleProperty(IGNITE_NODE_COUNT, props, DEFAULT_IGNITE_NODE_COUNT); prop.igniteVer = getStringProperty(IGNITE_VERSION, props, DEFAULT_IGNITE_VERSION); + prop.ignitePath = getStringProperty(IGNITE_PATH, props, null); + prop.licencePath = getStringProperty(LICENCE_PATH, props, null); + prop.jvmOpts = getStringProperty(IGNITE_JVM_OPTS, props, null); prop.igniteWorkDir = getStringProperty(IGNITE_WORKING_DIR, props, DEFAULT_IGNITE_WORK_DIR); prop.igniteLocalWorkDir = getStringProperty(IGNITE_LOCAL_WORK_DIR, props, DEFAULT_IGNITE_LOCAL_WORK_DIR); prop.igniteReleasesDir = getStringProperty(IGNITE_RELEASES_DIR, props, DEFAULT_IGNITE_RELEASES_DIR); @@ -297,6 +339,9 @@ public class ClusterProperties { prop.nodeCnt = getDoubleProperty(IGNITE_NODE_COUNT, null, DEFAULT_IGNITE_NODE_COUNT); prop.igniteVer = getStringProperty(IGNITE_VERSION, null, DEFAULT_IGNITE_VERSION); + prop.ignitePath = getStringProperty(IGNITE_PATH, null, null); + prop.licencePath = getStringProperty(LICENCE_PATH, null, null); + prop.jvmOpts = getStringProperty(IGNITE_JVM_OPTS, null, null); prop.igniteWorkDir = getStringProperty(IGNITE_WORKING_DIR, null, DEFAULT_IGNITE_WORK_DIR); prop.igniteLocalWorkDir = getStringProperty(IGNITE_LOCAL_WORK_DIR, null, DEFAULT_IGNITE_LOCAL_WORK_DIR); prop.igniteReleasesDir = getStringProperty(IGNITE_RELEASES_DIR, null, DEFAULT_IGNITE_RELEASES_DIR); @@ -332,6 +377,9 @@ public class ClusterProperties { envs.put(IGNITE_NODE_COUNT, toEnvVal(nodeCnt)); envs.put(IGNITE_VERSION, toEnvVal(igniteVer)); + envs.put(IGNITE_PATH, toEnvVal(ignitePath)); + envs.put(LICENCE_PATH, toEnvVal(licencePath)); + envs.put(IGNITE_JVM_OPTS, toEnvVal(jvmOpts)); envs.put(IGNITE_WORKING_DIR, toEnvVal(igniteWorkDir)); envs.put(IGNITE_LOCAL_WORK_DIR, toEnvVal(igniteLocalWorkDir)); envs.put(IGNITE_RELEASES_DIR, toEnvVal(igniteReleasesDir)); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c392cdc9/modules/yarn/src/main/java/org/apache/ignite/yarn/IgniteYarnClient.java ---------------------------------------------------------------------- diff --git a/modules/yarn/src/main/java/org/apache/ignite/yarn/IgniteYarnClient.java b/modules/yarn/src/main/java/org/apache/ignite/yarn/IgniteYarnClient.java index 764e717..299f028 100644 --- a/modules/yarn/src/main/java/org/apache/ignite/yarn/IgniteYarnClient.java +++ b/modules/yarn/src/main/java/org/apache/ignite/yarn/IgniteYarnClient.java @@ -61,8 +61,13 @@ public class IgniteYarnClient { FileSystem fs = FileSystem.get(conf); + Path ignite; + // Load ignite and jar - Path ignite = getIgnite(props, fs); + if (props.ignitePath() == null) + ignite = getIgnite(props, fs); + else + ignite = new Path(props.ignitePath()); Path appJar = IgniteYarnUtils.copyLocalToHdfs(fs, pathAppMasterJar, props.igniteWorkDir() + File.separator + IgniteYarnUtils.JAR_NAME);