2013-11-27 91 views
1

我用Scala編寫,使用火花方案,該方案在本地當我sbt run如何從sbt在ec2上運行spark集羣?

我想能夠使用SBT亞馬遜的EC2集羣上運行它開始運行良好。 這是可能的和如何?

我已經看過http://spark.incubator.apache.org/docs/latest/ec2-scripts.html,但這似乎沒有做事情。

我SBT版本:

~/git-reps/cs262a $ sbt --version 
sbt launcher version 0.12.4 

build.sbt文件:

name := "Ensemble Bayes Tree" 

version := "1.0" 

scalaVersion := "2.9.3" 

libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "0.8.0-incubating", 
"org.apache.spark" % "spark-mllib_2.9.3" % "0.8.0-incubating", 
"org.slf4j" % "slf4j-api" % "1.6.4", 
"org.slf4j" % "slf4j-log4j12" % "1.7.5", 
"log4j" % "log4j" % "1.2.14", 
"org.eclipse.jetty.orbit" % "javax.servlet" % "2.5.0.v201103041518" artifacts Artifact("javax.servlet", "jar", "jar") 
) 

resolvers += "Akka Repository" at "http://repo.akka.io/releases/" 

回答

0

推出的EC2集羣后,您可以將代碼複製到集羣的主節點,使用ssh登錄到主,並在該機器上運行sbt(例如,AMP Camp 3 exercises以此方式工作)。

確保在驅動程序中創建SparkContext時傳遞Spark主設備的地址。我想source /root/spark/conf/spark-env.sh設置$MASTER環境變量,然後在我的驅動程序中讀取該變量。主人的地址也存儲在/root/spark-ec2/cluster-url

Sourcing spark-env.sh也將根據羣集節點的大小設置一些環境變量,用於配置Spark作業的內存使用情況。如果您不輸入此文件,請確保在您的驅動程序中設置spark.executor.memory Java系統屬性,以充分利用羣集的內存。

+0

感謝您清除此方法。 那ampCamp網頁看起來像一個堅實的資源! – kidmose

相關問題