Feilsøking av gnistprogramfeil: En hoved-URL må angis i konfigurasjonen
Spark Program Error Troubleshooting
I dag testet jeg gnistprogrammet lokalt og klikket for å kjøre hovedmetoden, og følgende feil ble rapportert: (gnistversjon er 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)
Årsaken til denne feilen er at det ikke er noen master som programmet kjører på, og tilsvarende konfigurasjon er nødvendig.
Mestrene som ble gitt til gnist er som følger:
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.
Det er to måter å konfigurere gnistmasteren lokalt:
1. Konfigurer gjennom gnistkode
Den kan konfigureres med følgende kode:
//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. Konfigurer ved å sette JVM-driftsparametere
Klikk på rediger konfigurasjon på ideen, velg prosjektet som må konfigureres med parametere til venstre, og skriv deretter inn '-Dspark.master = local' i VM-alternativene til høyre for å instruere dette programmet om å kjøre lokalt i en enkelt tråd , bare kjør den igjen.