2014-12-02 9 views
7

o atar bu Exception:Usta URL'yi ayrıştırılamadı: 'kıvılcım: http: // localhost: 18080' Benim kod çalıştırmasına çalışıyorum zaman

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();}} 
: Bu benim kod

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

olduğunu

Bu sorunu nasıl düzeltebilirim?

cevap

7

Sorun, SparkConf.setMaster()'a ilettiğiniz URL'de 2 şema belirtmenizdir.

spark şemadır, bu nedenle spark'dan sonra http eklemeniz gerekmez. Daha fazla örnek için SparkConf.setMaster()'un javadoc'ına bakın.

Kullanmanız gereken ana URL, "spark://localhost:18080" şeklindedir. o başka İstisna atar

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

sayesinde deneyebilir ve yeniden çalıştırın: Bu satırı değiştirin Olabilir akka.tcp'ye bağlanmadı: // sparkMaster @ localhost: 18080: akka.remote.EndpointAssociationException: Dernek başarısız oldu [akka.tcp: // sparkMaster @ localhost: 18080] – Anas

+0

@Anas Bu büyük olasılıkla başlamadıysanız bir sunucu veya belirttiğinizden farklı bir bağlantı noktasında ('18080'). – icza

+0

Yardım için teşekkürler, kodda biraz değiştirdiğimde 8080 kullandı ** String host = "LocalHost"; SparkConf conf = new SparkConf() setAppName ("App_Name") .setMaster ("local [4]"). Set ("spark.driver.host", host) .set ("spark.driver.port", ") 8080 "); bana bu INFO: ** (INFO twitter4j.TwitterStreamImpl: Bağlantı kuruldu) ** ama yine de tweetleri göremiyorum !! – Anas

3

ustası için standart bağlantı noktası 7077 değil 18080. bunu değiştirirken Belki, yanıt için 7077.

İlgili konular