Sparkプログラムエラーのトラブルシューティング:構成にマスターURLを設定する必要があります



Spark Program Error Troubleshooting



今日、私はローカルでsparkプログラムをテストし、クリックしてmainメソッドを実行しましたが、次のエラーが報告されました:( Sparkバージョンは2.1.1です)

org.apache.spark.SparkException: A master URL must be set in your configuration at org.apache.spark.SparkContext.(SparkContext.scala:379) at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2320) at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868) at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860) at com.gimc.dsp.spark.main.dsp.OrderMappingMain.main(OrderMappingMain.java:60) 19/06/12 11:32:33 INFO SparkContext: Successfully stopped SparkContext Exception in thread 'main' org.apache.spark.SparkException: A master URL must be set in your configuration at org.apache.spark.SparkContext.(SparkContext.scala:379) at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2320) at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868) at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860) at com.gimc.dsp.spark.main.dsp.OrderMappingMain.main(OrderMappingMain.java:60)

このエラーの理由は、プログラムが実行されているマスターがなく、対応する構成が必要なためです。



Sparkに渡されたマスターは次のとおりです。

local Local single thread local[K] Local multithreading (specify K cores) local[*] Local multithreading (specify all available cores) spark://HOST:PORT To connect to the specified Spark standalone cluster master, you need to specify the port. mesos://HOST:PORT To connect to the specified Mesos cluster, you need to specify the port. The yarn-client client mode connects to the YARN cluster. Need to configure HADOOP_CONF_DIR. The yarn-cluster cluster mode connects to the YARN cluster. Need to configure HADOOP_CONF_DIR.

Sparkマスターをローカルで構成するには2つの方法があります。



1.Sparkコードを使用して構成します

次のコードで構成できます。

//java version SparkConf conf = new SparkConf() conf.setMaster('local') //Local single-threaded operation conf.setAppName('testJob') JavaSparkContext sc = new JavaSparkContext(conf) //scala version val sparkConf = new SparkConf() sparkConf.setMaster('local') //Local single-threaded operation sparkConf.setAppName('testJob') val sc = new SparkContext(sparkConf)

2.JVM操作パラメーターを設定して構成します



アイデアの[構成の編集]をクリックし、左側のパラメーターで構成する必要のあるプロジェクトを選択してから、右側のVMオプションに「-Dspark.master = local」と入力して、このプログラムにシングルスレッドでローカルに実行するように指示します。 、もう一度実行してください。