Apache spark sbt中运行SparkContext错误:已存在名为LocalBackEndPoint的RpcEndpoint
spark testcase在Intellij中运行时正在工作,但通过Apache spark sbt中运行SparkContext错误:已存在名为LocalBackEndPoint的RpcEndpoint,apache-spark,Apache Spark,spark testcase在Intellij中运行时正在工作,但通过sbt测试失败 在netty连接服务器建立期间,创建SparkContext失败: val sc = new SparkContext("local", "SamplingTest", new SparkConf()) 错误为java.lang.IllegalArgumentException:已经有一个名为localbackendpoint的RpcEndpoint。以下是stacktrace: [info] Samplin
sbt测试失败
在netty
连接服务器建立期间,创建SparkContext
失败:
val sc = new SparkContext("local", "SamplingTest", new SparkConf())
错误为java.lang.IllegalArgumentException:已经有一个名为localbackendpoint的RpcEndpoint
。以下是stacktrace:
[info] SamplingSpec:
[info] Factorization
[info] - should factorize *** FAILED *** (1 second, 957 milliseconds)
[info] java.lang.IllegalArgumentException: There is already an RpcEndpoint called LocalBackendEndpoint
[info] at org.apache.spark.rpc.netty.Dispatcher.registerRpcEndpoint(Dispatcher.scala:65)
[info] at org.apache.spark.rpc.netty.NettyRpcEnv.setupEndpoint(NettyRpcEnv.scala:136)
[info] at org.apache.spark.scheduler.local.LocalBackend.start(LocalBackend.scala:126)
[info] at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:144)
[info] at org.apache.spark.SparkContext.<init>(SparkContext.scala:530)
[info] at org.vz.datasci.spark.ml.SamplingSpec$$anonfun$1.apply$mcV$sp(SamplingSpec.scala:13)
[info]采样规格:
[信息]因子分解
[信息]-应分解***失败***(1秒,957毫秒)
[info]java.lang.IllegalArgumentException:已经有一个名为LocalBackendPoint的RpcEndpoint
[信息]位于org.apache.spark.rpc.netty.Dispatcher.registerRpcEndpoint(Dispatcher.scala:65)
[信息]位于org.apache.spark.rpc.netty.nettyrpcev.setupEndpoint(nettyrpcev.scala:136)
[信息]位于org.apache.spark.scheduler.local.LocalBackend.start(LocalBackend.scala:126)
[信息]位于org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:144)
[信息]位于org.apache.spark.SparkContext(SparkContext.scala:530)
[信息]org.vz.datasci.spark.ml.SamplingSpec$$anonfun$1.apply$mcV$sp(SamplingSpec.scala:13)
只有一个SparkContext正在创建,ssh到本地主机可以正常工作。还有什么需要考虑的呢?由于我的测试是并行运行的,所以我得到了相同的错误 在我的build.sbt中,我添加了: 测试中的并行执行:=false
不确定这是否是最好的解决方案,但它解决了它。如果您使用的是spring boot java应用程序。你可以像……那样做
runClasses(新的并行计算机(true,false),类) 啊!!我没有考虑过!我会试试看。我将投票表决——即使这不能解决我的问题,也要记住这是一件好事。顺便问一下,它是否默认为并行执行?我本以为sequential会起作用,除非另有规定。根据官方文件:“默认情况下,sbt并行执行任务”。它将每个测试都视为一项任务。在哪里编写?在“@SpringBootApplication”中??