2016-12-21 16 views
1

私は、VirtualBox上でUbuntu 16.2で動作するSpark環境を持っています。そのローカルで実行すると、私はVMで実行中のSparkに接続

./start-all

でスパークを起動したとき、私はURLを使用して、Web-UIを介してVM上でそれにアクセスすることができますように構成:http://localhost:8080

ホストマシン(Windowsの場合)から、私はそれにアクセスすることができますVM IP:http://192.168.x.x:8080も使用しています。私は私のホストマシンからコンテキストを作成しようとすると

enter image description here

問題が表示されます。私は、Mavenを使用してEclipseでプロジェクトを持っている、と私は、次のコードを実行しよう:

ConfigLoader.masterEndpoint = "spark://192.168.1.132:7077" 

val conf = new SparkConf().setMaster(ConfigLoader.masterEndpoint).setAppName("SimpleApp") 
val sc = new SparkContext(conf) 

私はこのエラーを得た:

16/12/21 00:52:05 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://192.168.1.132:8080... 
16/12/21 00:52:06 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master 192.168.1.132:8080 
org.apache.spark.SparkException: Exception thrown in awaitResult 
    at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:77) 

私はURLを変更しようとしました:

ConfigLoader.masterEndpoint = "spark://192.168.1.132:7077" 

失敗しました。

また、Web経由で直接マスターURLにアクセスしようとすると(VM内のhttp://localhost:7077)、何も取得できません。私はそれが正常かどうかわからない。

私には何が欠けていますか?

答えて

1

あなたのVMでspark-2.0.2-bin-hadoop2.7/confディレクトリに移動し、以下のコマンドを使用してspark-env.shファイルを作成します。

cp spark-env.sh.template spark-env.sh 

viエディタでspark-env.shファイルを開き、以下の行を追加します。

SPARK_MASTER_HOST=192.168.1.132 

停止しstop-all.shstart-all.shを使用してスパークを開始します。あなたのプログラムでは、以下のようにマスターを設定できます。

val spark = SparkSession.builder() 
    .appName("SparkSample") 
    .master("spark://192.168.1.132:7077") 
    .getOrCreate() 
+0

これは私の問題の一部を解決します。もう1つは、私のAppとスパークマシンの同じバージョンのspark/scalaとの互換性を使用していないということでした。この投稿は私にも役立ちました:http://stackoverflow.com/questions/38559597/failed-to-connect-to-spark-masterinvalidclassexception-org-apache-spark-rpc-rp – dgcipp

関連する問題