无法解析主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。