2017-02-03 19 views
5

użyłem this codeBłąd inicjalizacji SparkContext: Mistrz URL musi być ustawiony w konfiguracji

Mój błąd jest:

Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 

17/02/03 20:39:24 INFO SparkContext: Running Spark version 2.1.0 

17/02/03 20:39:25 WARN NativeCodeLoader: Unable to load native-hadoop 
library for your platform... using builtin-java classes where applicable 

17/02/03 20:39:25 WARN SparkConf: Detected deprecated memory fraction 
settings: [spark.storage.memoryFraction]. As of Spark 1.6, execution and 
storage memory management are unified. All memory fractions used in the old 
model are now deprecated and no longer read. If you wish to use the old 
memory management, you may explicitly enable `spark.memory.useLegacyMode` 
(not recommended). 

17/02/03 20:39:25 ERROR SparkContext: Error initializing SparkContext. 

org.apache.spark.SparkException: A master URL must be set in your 
configuration 
at org.apache.spark.SparkContext.<init>(SparkContext.scala:379) 
at PCA$.main(PCA.scala:26) 
at PCA.main(PCA.scala) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 

17/02/03 20:39:25 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.<init>(SparkContext.scala:379) 
at PCA$.main(PCA.scala:26) 
at PCA.main(PCA.scala) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 

at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 

Process finished with exit code 1 
+0

Możliwy duplikat [Spark - Error "Mistrz URL musi być ustawiony w konfiguracji" przy składaniu aplikacji] (https://stackoverflow.com/questions/38008330/spark-error-a-master-url-must-be-set-in-your-configuration-when-submit-a) –

Odpowiedz

4

Komunikat o błędzie jest całkiem jasne, musisz podać adres Master Spark węzeł, albo poprzez SparkContext lub poprzez spark-submit:

val conf = 
    new SparkConf() 
    .setAppName("ClusterScore") 
    .setMaster("spark://172.1.1.1:7077") // <--- This is what's missing 
    .set("spark.storage.memoryFraction", "1") 

val sc = new SparkContext(conf) 
+2

dziękuję, działa. – fakherzad

+0

Mam teraz inne pytanie dotyczące tego kodu: jak mogę wprowadzić mój tekst. insted z "/data/kddcupdata/kddcup.trasfrom.nou2r" Chcę użyć mojego pliku tekstowego, który został zapisany w "C: //kddcup.data_10_percent_corrected.txt". plz pomóż mi jak to zrobić? – fakherzad

+0

@fakherzad Możesz użyć 'file: /// kddcup.data_10_percent_corrected.txt' do odczytu plików na komputerze lokalnym. –

5

jeśli używasz iskry stand alone następnie

val conf = new SparkConf().setMaster("spark://master") //missing 

i można przekazać parametr podczas przedstawienia praca

spark-submit --master spark://master 

Jeśli używasz iskrę lokalny następnie

val conf = new SparkConf().setMaster("local[2]") //missing 

można przekazać parametr podczas przedstawienia praca

spark-submit --master local 

jeśli uruchamiasz iskrę na przędzę, to

spark-submit --master yarn 
1
SparkConf configuration = new SparkConf() 
      .setAppName("Your Application Name") 
      .setMaster("local"); 
val sc = new SparkContext(conf); 

Będzie ona działać ...

Powiązane problemy