aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/org/apache/spark/SparkContext.scala8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/src/main/scala/org/apache/spark/SparkContext.scala b/core/src/main/scala/org/apache/spark/SparkContext.scala
index b59f562d05..af276e7b8d 100644
--- a/core/src/main/scala/org/apache/spark/SparkContext.scala
+++ b/core/src/main/scala/org/apache/spark/SparkContext.scala
@@ -371,6 +371,14 @@ class SparkContext(config: SparkConf) extends Logging with ExecutorAllocationCli
throw new SparkException("An application name must be set in your configuration")
}
+ // System property spark.yarn.app.id must be set if user code ran by AM on a YARN cluster
+ // yarn-standalone is deprecated, but still supported
+ if ((master == "yarn-cluster" || master == "yarn-standalone") &&
+ !_conf.contains("spark.yarn.app.id")) {
+ throw new SparkException("Detected yarn-cluster mode, but isn't running on a cluster. " +
+ "Deployment to YARN is not supported directly by SparkContext. Please use spark-submit.")
+ }
+
if (_conf.getBoolean("spark.logConf", false)) {
logInfo("Spark configuration:\n" + _conf.toDebugString)
}