2014-12-03 115 views
3

有沒有辦法從Spark shell運行一個例子(SparkPi)?或者通過shell向Mesos集羣提交Spark作業?​​目前不支持部署到Mesos,但我希望實現類似的目的,將驅動程序放置到執行程序。如何在Mesos上運行Spark Spark shell?

回答

0

1)您可以連接您的火花殼和火花提交Mesos集羣:

./bin/spark-shell -h 

Usage: ./bin/spark-shell [options] 
Options: 
    --master MASTER_URL   spark://host:port, mesos://host:port,  yarn, or local. 
    --deploy-mode DEPLOY_MODE Whether to launch the driver program locally ("client") or 
          on one of the worker machines inside the cluster ("cluster") 
          (Default: client). 
... 

2)是否有任何的方式來運行,從星火殼爲例(SparkPi)?

總之 - 是的。但它可能只適用於Spark 2.0。

在Spark 1.6中執行SparkPi示例會嘗試創建新的Spark上下文(而spark-shell已經創建了一個 - 它會導致問題)。

https://github.com/apache/spark/blob/branch-1.6/examples/src/main/scala/org/apache/spark/examples/SparkPi.scala

val conf = new SparkConf().setAppName("Spark Pi") 
val spark = new SparkContext(conf) 

在星火2.0試圖實現重用現有星火語境: https://github.com/apache/spark/blob/branch-2.0/examples/src/main/scala/org/apache/spark/examples/SparkPi.scala

val spark = SparkSession 
    .builder 
    .appName("Spark Pi") 
    .getOrCreate() 

因此,如何從shell啓動SparkPi?你去那裏:

./bin/spark-shell --jars ./examples/jars/spark-examples_2.11-2.0.0.jar 
scala> org.apache.spark.examples.SparkPi.main(Array("100")) 
Pi is roughly 3.1413147141314712        
相關問題