2014-12-02 12 views
7

Quando sto cercando di eseguire il mio codice che genera questa Exception:Impossibile analizzare URL Master: 'scintilla: http: // localhost: 18080'

Exception in thread "main" org.apache.spark.SparkException: Could not parse Master URL:spark:http://localhost:18080 

Questo è il mio codice:

SparkConf conf = new SparkConf().setAppName("App_Name").setMaster("spark:http://localhost:18080").set("spark.ui.port","18080"); 
JavaStreamingContext ssc = new JavaStreamingContext(sc, new Duration(1000)); 
String[] filet=new String[]{"Obama","ISI"}; 

JavaReceiverInputDStream<Status> reciverStream=TwitterUtils.createStream(ssc,filet); 
JavaDStream<String> statuses = reciverStream.map(new Function<Status, String>() { 
    public String call(Status status) { return status.getText(); } 
    } 
    ); 
ssc.start(); 
ssc.awaitTermination();}} 

Qualche idea come posso risolvere questo problema?

risposta

7

Il problema è che si specificano 2 schemi nell'URL che si passa a SparkConf.setMaster().

Lo spark è lo schema, quindi non è necessario aggiungere http dopo spark. Vedere la javadoc di SparkConf.setMaster() per ulteriori esempi.

Quindi l'URL principale da utilizzare è "spark://localhost:18080". Modificare questa linea:

SparkConf conf = new SparkConf().setAppName("App_Name") 
    .setMaster("spark://localhost:18080").set("spark.ui.port","18080"); 
+0

grazie per la risposta, quando cambio ed eseguirlo di nuovo getta un'altra eccezione: Could non si connette a akka.tcp: // sparkMaster @ localhost: 18080: akka.remote.EndpointAssociationException: associazione fallita con [akka.tcp: // sparkMaster @ localhost: 18080] – Anas

+0

@Anas Molto probabilmente perché non è stato avviato un server o si trova su una porta diversa da quella specificata ('18080'). – icza

+0

grazie per l'aiuto, quando cambio leggermente nel codice ho usato la porta 8080 ** Host stringa = "LocalHost"; SparkConf conf = nuovo SparkConf(). SetAppName ("App_Name") .setMaster ("local [4]"). Set ("spark.driver.host", host) .set ("spark.driver.port", " 8080 "); mi dà questo INFO: ** (INFO twitter4j.TwitterStreamImpl: connessione stabilita) ** ma non riesco ancora a vedere i tweet !! – Anas

3

La porta standard per master è 7077 18080. Non forse si può provare 7077.

Problemi correlati