You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "pankaj (JIRA)" <ji...@apache.org> on 2015/04/30 08:31:06 UTC

[jira] [Commented] (SPARK-6443) Support HA in standalone cluster mode

    [ https://issues.apache.org/jira/browse/SPARK-6443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14520965#comment-14520965 ] 

pankaj commented on SPARK-6443:
-------------------------------

here is the detailed exception for Spark-submit in Standalone cluster mode with multiple masters

spark-1.3.0-bin-hadoop2.4]# /usr/local/spark-1.3.0-bin-hadoop2.4/bin/spark-submit --total-executor-cores 11  --class com.first.TestMessageProcessor --deploy-mode cluster --supervise --master spark://ec2-11.22.33.compute-1.amazonaws.com:7077,ec2-33.44.55.compute-1.amazonaws.com:7077  file:///test-0.0.1-SNAPSHOT.jar
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Running Spark using the REST application submission protocol.
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
15/04/30 06:24:38 INFO StandaloneRestClient: Submitting a request to launch an application in spark://ec2-11.22.33.compute-1.amazonaws.com:7077,ec2-33.44.55.compute-1.amazonaws.com:7077.
Exception in thread "main" java.net.MalformedURLException: For input string: "7077,ec2-33.44.55..compute-1.amazonaws.com:7077"
	at java.net.URL.<init>(URL.java:619)
	at java.net.URL.<init>(URL.java:482)
	at java.net.URL.<init>(URL.java:431)
	at org.apache.spark.deploy.rest.StandaloneRestClient.getSubmitUrl(StandaloneRestClient.scala:201)
	at org.apache.spark.deploy.rest.StandaloneRestClient.createSubmission(StandaloneRestClient.scala:69)
	at org.apache.spark.deploy.rest.StandaloneRestClient$.run(StandaloneRestClient.scala:317)
	at org.apache.spark.deploy.rest.StandaloneRestClient$.main(StandaloneRestClient.scala:329)
	at org.apache.spark.deploy.rest.StandaloneRestClient.main(StandaloneRestClient.scala)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:569)
	at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:166)
	at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:178)
	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:110)
	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.NumberFormatException: For input string: "7077,ec2-33.44.55..compute-1.amazonaws.com:7077"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:492)
	at java.lang.Integer.parseInt(Integer.java:527)

> Support HA in standalone cluster mode
> -------------------------------------
>
>                 Key: SPARK-6443
>                 URL: https://issues.apache.org/jira/browse/SPARK-6443
>             Project: Spark
>          Issue Type: New Feature
>          Components: Spark Submit
>    Affects Versions: 1.0.0
>            Reporter: Tao Wang
>            Assignee: Tao Wang
>
> ========== EDIT by Andrew ==========
> From a quick survey in the code I can confirm that client mode does support this. [This line|https://github.com/apache/spark/blob/e3202aa2e9bd140effbcf2a7a02b90cb077e760b/core/src/main/scala/org/apache/spark/SparkContext.scala#L2162] splits the master URLs by comma and passes these URLs into the AppClient. In standalone cluster mode, there is simply no equivalent logic to even split the master URLs, whether in the old submission gateway (o.a.s.deploy.Client) or in the new one (o.a.s.deploy.rest.StandaloneRestClient).
> Thus, this is an unsupported feature, not a bug!
> ========== Original description from Tao Wang ==========
> After digging some codes, I found user could not submit app in standalone cluster mode when HA is enabled. But in client mode it can work.
> Haven't try yet. But I will verify this and file a PR to resolve it if the problem exists.
> 3/23 update:
> I started a HA cluster with zk, and tried to submit SparkPi example with command:
> ./spark-submit  --class org.apache.spark.examples.SparkPi --master spark://doggie153:7077,doggie159:7077 --deploy-mode cluster ../lib/spark-examples-1.2.0-hadoop2.4.0.jar 
> and it failed with error message:
> Spark assembly has been built with Hive, including Datanucleus jars on classpath
> 15/03/23 15:24:45 ERROR actor.OneForOneStrategy: Invalid master URL: spark://doggie153:7077,doggie159:7077
> akka.actor.ActorInitializationException: exception during creation
>         at akka.actor.ActorInitializationException$.apply(Actor.scala:164)
>         at akka.actor.ActorCell.create(ActorCell.scala:596)
>         at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:456)
>         at akka.actor.ActorCell.systemInvoke(ActorCell.scala:478)
>         at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)
>         at akka.dispatch.Mailbox.run(Mailbox.scala:219)
>         at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
>         at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>         at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
>         at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>         at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
> Caused by: org.apache.spark.SparkException: Invalid master URL: spark://doggie153:7077,doggie159:7077
>         at org.apache.spark.deploy.master.Master$.toAkkaUrl(Master.scala:830)
>         at org.apache.spark.deploy.ClientActor.preStart(Client.scala:42)
>         at akka.actor.Actor$class.aroundPreStart(Actor.scala:470)
>         at org.apache.spark.deploy.ClientActor.aroundPreStart(Client.scala:35)
>         at akka.actor.ActorCell.create(ActorCell.scala:580)
>         ... 9 more
> But in client mode it ended with correct result. So my guess is right. I will fix it in the related PR.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org