2017-02-03 1 views
5

я использовал this codeОшибка инициализации SparkContext: Мастер URL должен быть установлен в вашей конфигурации

Моя ошибка:

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

Возможный дубликат [Спарк - Error "Мастер URL должен быть установлен в конфигурации" при представлении приложения] (https://stackoverflow.com/questions/38008330/spark-error-a-master-url-must-be-set-in-your-configuration-when-submitting-a) –

ответ

4

Сообщение об ошибке довольно ясно, вы должны предоставить адрес Спарк Master узел, либо через SparkContext или через 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

спасибо, он работает. – fakherzad

+0

теперь у меня есть еще один вопрос об этом коде: как я могу ввести свой текст. insted из «/data/kddcupdata/kddcup.trasfrom.nou2r» я хочу использовать мой текстовый файл, который был сохранен в «C: //kddcup.data_10_percent_corrected.txt». PLZ помочь мне, как это сделать? – fakherzad

+0

@fakherzad Вы можете использовать 'file: /// kddcup.data_10_percent_corrected.txt' для чтения файлов на вашем локальном компьютере. –

5

Если вы работаете искрой стоять в одиночку, то

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

и вы можете передать параметр в то время как отправить задание

spark-submit --master spark://master 

Если вы работаете искру местные затем

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

вы можете передать параметр в то время как отправить задание

spark-submit --master local 

если вы используете искру на пряжу, то

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

Он будет работать ...