Java 连接Spark本地群集时出错
我试图在本地mac上运行以下代码,其中运行的是一个带有主服务器和从服务器的spark集群Java 连接Spark本地群集时出错,java,apache-spark,Java,Apache Spark,我试图在本地mac上运行以下代码,其中运行的是一个带有主服务器和从服务器的spark集群 public void run(String inputFilePath) { String master = "spark://192.168.1.199:7077"; SparkConf conf = new SparkConf() .setAppName(WordCountTask.class.getName()) .setMaster(mast
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)));
}
}
public void运行(字符串inputFilePath){
字符串主控=”spark://192.168.1.199:7077";
SparkConf conf=新的SparkConf()
.setAppName(WordCountTask.class.getName())
.setMaster(master);
JavaSparkContext上下文=新的JavaSparkContext(conf);
context.textFile(inputFilePath)
.flatMap(text->Arrays.asList(text.split(“”).iterator())
.mapToPair(word->new Tuple2(word,1))
.reduceByKey((a,b)->a+b)
.foreach(结果->LOGGER.info(
String.format(“单词[%s]计数[%d]”,result._1(),result._2));
}
}
但是,我在主控制台和
在RPC id上调用RpcHandler#receive()时出错
5655526795459682754 java.io.EOFException
在程序控制台中
18/07/01 22:35:19警告StandaloneAppClient$ClientEndpoint:未能
连接到主机192.168.1.199:7077 org.apache.spark.SparkException:
等待结果时引发异常
当我将master设置为“local[*]”时,它运行良好,如中所示
我看到过使用spark submit命令提交jar的例子,但我正在尝试以编程方式运行它 刚刚意识到Spark的版本在代码的主/从和POM文件中有所不同。将pom.xml中的版本升级到与spark cluster相匹配的版本,它成功了。Hi。说到“我的本地mac,其中运行着一个带有主服务器和从服务器的spark群集”,你是指spark独立群集还是停靠群集?如果您使用的是单机版,请尝试
spark://localhost:7077
。如果您使用的是Docker映像,请确保容器显示所有必需的端口。它是一个独立群集,即打开Different terminal窗口并启动主节点和多个从属节点。192.168.1.199是主控制台输出中显示的mac的本地ip。因此localhost和192.168.1.199具有相同的效果。