无法解析主URL:’spark:http:// localhost:18080′

当我试图运行我的代码时,它抛出此Exception

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

这是我的代码:

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

知道如何解决这个问题?

问题是您在传递给SparkConf.setMaster()的URL中指定了2个模式。

spark是架构,所以你不需要在spark之后添加http 。 有关更多示例,请参阅SparkConf.setMaster()的javadoc。

所以你应该使用的主URL是"spark://localhost:18080" 。 改变这一行:

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

master的标准端口是7077而不是18080.也许你可以尝试7077。