2017-01-04 8 views
0

私はRを使用し、sparkを使ってsparkをテストする簡単な例を実行します。ローカルに実行されているマスタを起動するジョブをサブミットする方法

私は、以下のものを使用してローカルで実行しているスパークマスターを持っている:

spark-class org.apache.spark.deploy.master.Master 

私はhttp://localhost:8080/

コードでステータスページを見ることができます:

system("spark-submit --packages com.databricks:spark-csv_2.10:1.0.3 --master local[*]") 

suppressPackageStartupMessages(library(SparkR)) # Load the library 

sc <- sparkR.session(master = "local[*]") 

df <- as.DataFrame(faithful) 

head(df) 

今これは時に正常に動作私は次のようにします(コードは「スパークコード」として保存されます):

Rscript sparkcode.R 

問題:

しかし、何が起こることは新しいスパークインスタンスが作成されていることですが、私はRは、既存のマスター・インスタンスを使用したい(完了したジョブhttp://localhost:8080/#completed-appとしてこれを見るべきである)

PS:マックOSXを使用して、スパーク2.1.0および3.3.2 R

答えて

1

ものの数:

  • スタンドアロンクラスタを使用する場合は、正しいURLを使用してください(sparkR.session(master = "spark://hostname:port"))。ホスト名とポートの両方が設定に依存しますが、標準ポートは7077で、ホスト名はデフォルトでhostnameになります。これが主な問題です。
  • spark-classを直接使用しないでください。これは$SPARK_HOME/sbin/のスクリプトの対象です(start-master.shなど)。重要ではありませんが、あなたのために小さくて退屈な作業を処理します。
  • スタンドアロンマスターはリソースマネージャのみです。作業者ノードも開始する必要があります(start-slave*)。
  • bin/spark-submitを使用する方が通常は良いですが、ここではそれほど重要ではありません。
  • spark-csvはSpark 2.xでは必要なく、Spark 2.1ではデフォルトでScala 2.11が使用されていました。 1.0.3は言うまでもありません(Spark 1.3程度です)。
関連する問題