You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2016/11/22 02:46:35 UTC
[26/35] hive git commit: HIVE-15219. LLAP: Allow additional slider
global parameters to be set while creating the LLAP package. (Siddharth Seth,
reviewed by Gopal V)
HIVE-15219. LLAP: Allow additional slider global parameters to be set while creating the LLAP package. (Siddharth Seth, reviewed by Gopal V)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/678e6cac
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/678e6cac
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/678e6cac
Branch: refs/heads/hive-14535
Commit: 678e6cac091931314f9afabe97f32c63f9036e0f
Parents: bbcff5e
Author: Siddharth Seth <ss...@apache.org>
Authored: Fri Nov 18 15:24:39 2016 -0800
Committer: Siddharth Seth <ss...@apache.org>
Committed: Fri Nov 18 15:24:39 2016 -0800
----------------------------------------------------------------------
.../hadoop/hive/llap/cli/LlapOptionsProcessor.java | 6 ++++++
llap-server/src/main/resources/package.py | 16 ++++++++++++++++
llap-server/src/main/resources/templates.py | 3 ++-
3 files changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/678e6cac/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapOptionsProcessor.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapOptionsProcessor.java b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapOptionsProcessor.java
index 8b98aee..e680dfc 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapOptionsProcessor.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapOptionsProcessor.java
@@ -52,6 +52,7 @@ public class LlapOptionsProcessor {
public static final String OPTION_JAVA_HOME = "javaHome"; // forward via config.json
public static final String OPTION_HIVECONF = "hiveconf"; // llap-daemon-site if relevant parameter
public static final String OPTION_SLIDER_AM_CONTAINER_MB = "slider-am-container-mb"; // forward as arg
+ public static final String OPTION_SLIDER_APPCONFIG_GLOBAL = "slider-appconfig-global"; // forward as arg
public static final String OPTION_LLAP_QUEUE = "queue"; // forward via config.json
public static final String OPTION_IO_THREADS = "iothreads"; // llap-daemon-site
@@ -256,6 +257,11 @@ public class LlapOptionsProcessor {
.withLongOpt(OPTION_SLIDER_AM_CONTAINER_MB)
.withDescription("The size of the slider AppMaster container in MB").create('b'));
+ options.addOption(OptionBuilder.withValueSeparator().hasArgs(2).withArgName("property=value")
+ .withLongOpt(OPTION_SLIDER_APPCONFIG_GLOBAL)
+ .withDescription("Property (key=value) to be set in the global section of the Slider appConfig")
+ .create());
+
options.addOption(OptionBuilder.hasArg().withArgName(OPTION_IO_THREADS)
.withLongOpt(OPTION_IO_THREADS).withDescription("executor per instance").create('t'));
http://git-wip-us.apache.org/repos/asf/hive/blob/678e6cac/llap-server/src/main/resources/package.py
----------------------------------------------------------------------
diff --git a/llap-server/src/main/resources/package.py b/llap-server/src/main/resources/package.py
index 9d61058..380c6a8 100644
--- a/llap-server/src/main/resources/package.py
+++ b/llap-server/src/main/resources/package.py
@@ -3,6 +3,7 @@
import sys,os,stat
import argparse
from json import loads as json_parse
+from json import dumps as json_print
from os.path import exists, join, relpath
from time import gmtime, strftime
import shutil
@@ -57,6 +58,19 @@ def zipdir(path, zip, prefix="."):
src = join(root, file)
dst = src.replace(path, prefix)
zip.write(src, dst)
+
+def slider_appconfig_global_property(arg):
+ kv = arg.split("=")
+ if len(kv) != 2:
+ raise argparse.ArgumentTypeError("Value must be split into two parts separated by =")
+ return tuple(kv)
+
+def construct_slider_site_global_string(kvs):
+ if not kvs:
+ return ""
+ kvs = map(lambda a : a[0], kvs)
+ return ",\n" + ",\n".join([" %s:%s" % (json_print(k), json_print(v)) for (k,v) in kvs])
+
def main(args):
version = os.getenv("HIVE_VERSION")
@@ -74,6 +88,7 @@ def main(args):
parser.add_argument("--logger", default="RFA")
parser.add_argument("--chaosmonkey", type=int, default=0)
parser.add_argument("--slider-am-container-mb", type=int, default=1024)
+ parser.add_argument("--slider-appconfig-global", nargs='*', type=slider_appconfig_global_property, action='append')
parser.add_argument("--slider-keytab-dir", default="")
parser.add_argument("--slider-keytab", default="")
parser.add_argument("--slider-principal", default="")
@@ -128,6 +143,7 @@ def main(args):
"monkey_percentage" : monkey_percentage,
"monkey_enabled" : args.chaosmonkey > 0,
"slider.am.container.mb" : args.slider_am_container_mb,
+ "slider_appconfig_global_append": construct_slider_site_global_string(args.slider_appconfig_global),
"slider_am_jvm_heapsize" : slider_am_jvm_heapsize,
"slider_keytab_dir" : slider_keytab_dir,
"slider_keytab" : slider_keytab,
http://git-wip-us.apache.org/repos/asf/hive/blob/678e6cac/llap-server/src/main/resources/templates.py
----------------------------------------------------------------------
diff --git a/llap-server/src/main/resources/templates.py b/llap-server/src/main/resources/templates.py
index 5684f33..36162bb 100644
--- a/llap-server/src/main/resources/templates.py
+++ b/llap-server/src/main/resources/templates.py
@@ -84,7 +84,8 @@ appConfig = """
"internal.chaos.monkey.probability.amlaunchfailure": "0",
"internal.chaos.monkey.probability.containerfailure": "%(monkey_percentage)d",
"internal.chaos.monkey.interval.seconds": "%(monkey_interval)d",
- "internal.chaos.monkey.enabled": "%(monkey_enabled)s"
+ "internal.chaos.monkey.enabled": "%(monkey_enabled)s"%(slider_appconfig_global_append)s
+
},
"components": {
"slider-appmaster": {