2016-11-30 5 views
3

Javaプログラムを使用してローカルシステムからスパークマスタノード(リモートクラスタノード)に接続しようとしています。私は、接続するには、次のAPIを使用しています:リモートでスパーククラスタに接続する

SparkConf conf = new SparkConf().setAppName("WorkCountApp").setMaster("spark://masterIP:7077"); 
JavaSparkContext sc = new JavaSparkContext(conf); 

私のプログラムがマスタに接続しようとしますが、いくつかの時間後に失敗しました。以下は、スタックトレースです:

16/11/30 17:40:26 INFO AppClient$ClientActor: Connecting to master akka.tcp://[email protected]:7077/user/Master... 
    16/11/30 17:40:46 ERROR SparkDeploySchedulerBackend: Application has been killed. Reason: All masters are unresponsive! Giving up. 
    16/11/30 17:40:46 WARN SparkDeploySchedulerBackend: Application ID is not initialized yet. 
    16/11/30 17:40:46 INFO SparkUI: Stopped Spark web UI at http://172.31.11.1:4040 
    16/11/30 17:40:46 INFO DAGScheduler: Stopping DAGScheduler 
    16/11/30 17:40:46 INFO SparkDeploySchedulerBackend: Shutting down all executors 
    16/11/30 17:40:46 INFO SparkDeploySchedulerBackend: Asking each executor to shut down 
    16/11/30 17:40:46 ERROR OneForOneStrategy: 
    java.lang.NullPointerException 
java.lang.IllegalStateException: Cannot call methods on a stopped SparkContext 
    at org.apache.spark.SparkContext.org$apache$spark$SparkContext$$assertNotStopped(SparkContext.scala:103) 

失敗の接続には多くの理由がありますが、同じ

答えて

0

で私を助けてください。しかし、このために、このSparkマスター用にインスタンス化されたワーカースレッドは存在しないようです。

リモートマシンでは、spark masterとspark worker(スレーブ)を起動する必要があります