连接Spark本地集群时出错

时间:2018-07-01 17:10:05

标签: java apache-spark

我试图在运行具有主从节点的Spark集群的本地Mac上运行以下代码

  public void run(String inputFilePath) {

    String master = "spark://192.168.1.199:7077";

    SparkConf conf = new SparkConf()
        .setAppName(WordCountTask.class.getName())
        .setMaster(master);
    JavaSparkContext context = new JavaSparkContext(conf);


    context.textFile(inputFilePath)
        .flatMap(text -> Arrays.asList(text.split(" ")).iterator())
        .mapToPair(word -> new Tuple2<>(word, 1))
        .reduceByKey((a, b) -> a + b)
        .foreach(result -> LOGGER.info(
            String.format("Word [%s] count [%d].", result._1(), result._2)));
  }
}

但是我在主控制台和

中都收到以下异常
  

在RPC ID上调用RpcHandler#receive()时出错   5655526795459682754 java.io.EOFException

并在程序控制台中

  

18/07/01 22:35:19 WARN StandaloneAppClient $ ClientEndpoint:无法执行   连接到主192.168.1.199:7077 org.apache.spark.SparkException:   在awaitResult中引发异常

当我按照this example中的说明将主服务器设置为“ local [*]”时,这运行得很好。

我看到了使用 spark-submit 命令提交jar的示例,但是我试图以编程方式运行它。

1 个答案:

答案 0 :(得分:1)

仅意识到Spark的版本在代码的主/从和POM文件中有所不同。修改pom.xml中的版本以匹配spark集群,并且可以正常工作。