我试图在运行具有主从节点的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的示例,但是我试图以编程方式运行它。
答案 0 :(得分:1)
仅意识到Spark的版本在代码的主/从和POM文件中有所不同。修改pom.xml中的版本以匹配spark集群,并且可以正常工作。