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

Ana*_*nas 9 java twitter spark-streaming

当我试图运行我的代码时,它抛出这个Exception:

Exception in thread "main" org.apache.spark.SparkException: Could not parse Master URL:spark:http://localhost:18080
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

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();}}
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题?

icz*_*cza 8

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

spark是架构,因此您不需要在http之后添加spark.有关SparkConf.setMaster()更多示例,请参阅javadoc .

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

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


小智 5

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