Repository: incubator-gearpump Updated Branches: refs/heads/master 914eb9008 -> 6677b6a11
fix GEARPUMP-144 make the user for HDFS and Yarn configurable in yarn⦠â¦client Author: huafengw <[email protected]> Closes #90 from huafengw/fix_144. Project: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/commit/6677b6a1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/tree/6677b6a1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/diff/6677b6a1 Branch: refs/heads/master Commit: 6677b6a118b03b8b79fc342768d7cd79fbcc178d Parents: 914eb90 Author: huafengw <[email protected]> Authored: Wed Dec 14 12:44:39 2016 +0800 Committer: manuzhang <[email protected]> Committed: Wed Dec 14 12:44:39 2016 +0800 ---------------------------------------------------------------------- conf/gear.conf | 5 +++++ .../scala/org/apache/gearpump/experiments/yarn/Constants.scala | 1 + .../apache/gearpump/experiments/yarn/client/LaunchCluster.scala | 5 +++++ 3 files changed, 11 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/6677b6a1/conf/gear.conf ---------------------------------------------------------------------- diff --git a/conf/gear.conf b/conf/gear.conf index fa0a3e9..52c67b8 100644 --- a/conf/gear.conf +++ b/conf/gear.conf @@ -282,6 +282,11 @@ gearpump { ### Configuration for yarn module ########################### yarn { + ## By default the owner of yarn application(Here is a Gearpump cluster) is the one who + ## launches yarnclient. + ## Now you delegat to other users by setting following config. + # user = "guest" + client { package-path = "/usr/lib/gearpump/gearpump.zip" } http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/6677b6a1/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/Constants.scala ---------------------------------------------------------------------- diff --git a/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/Constants.scala b/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/Constants.scala index 33c3e97..95c95c7 100644 --- a/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/Constants.scala +++ b/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/Constants.scala @@ -19,6 +19,7 @@ package org.apache.gearpump.experiments.yarn object Constants { + val CONTAINER_USER = "gearpump.yarn.user" val APPMASTER_NAME = "gearpump.yarn.applicationmaster.name" val APPMASTER_COMMAND = "gearpump.yarn.applicationmaster.command" val APPMASTER_MEMORY = "gearpump.yarn.applicationmaster.memory" http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/6677b6a1/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/client/LaunchCluster.scala ---------------------------------------------------------------------- diff --git a/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/client/LaunchCluster.scala b/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/client/LaunchCluster.scala index 2475728..98cff61 100644 --- a/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/client/LaunchCluster.scala +++ b/experiments/yarn/src/main/scala/org/apache/gearpump/experiments/yarn/client/LaunchCluster.scala @@ -26,6 +26,7 @@ import com.typesafe.config.{Config, ConfigValueFactory} import org.apache.gearpump.cluster.ClusterConfig import org.apache.gearpump.cluster.main.{ArgumentsParser, CLIOption, ParseResult} import org.apache.gearpump.experiments.yarn.Constants +import org.apache.gearpump.experiments.yarn.Constants._ import org.apache.gearpump.experiments.yarn.appmaster.AppMasterCommand import org.apache.gearpump.experiments.yarn.appmaster.YarnAppMaster.{ActiveConfig, GetActiveConfig} import org.apache.gearpump.experiments.yarn.glue.Records.{ApplicationId, Resource} @@ -184,6 +185,10 @@ object LaunchCluster extends AkkaApp with ArgumentsParser { if (parsed.getBoolean(VERBOSE)) { LogUtil.verboseLogToConsole() } + val userName = inputAkkaConf.getString(CONTAINER_USER) + if (userName != null) { + System.setProperty("HADOOP_USER_NAME", userName) + } val yarnConfig = new YarnConfig() val fs = new FileSystem(yarnConfig)
