技术文章 - CS320043
ThingWorx Analytics Server 中的训练作业因错误“org.apache.spark.SparkException:作业因阶段失败而中止”而失败
已修改: 22-Dec-2022
适用于
- ThingWorx Analytics 8.3.3
说明
- 执行具有 150 棵树和 24 深度的随机森林学习器失败并出现错误
SparkRandomForestTrainer 上的训练似乎失败了。
org.apache.spark.SparkException:作业因阶段失败而中止:阶段 1473.0 中的任务 0 失败 1 次,最近的失败:阶段 1473.0 中丢失任务 0.0(TID 4111,本地主机,执行程序驱动程序):ExecutorLostFailure(执行程序驱动程序退出导致通过其中一个正在运行的任务)原因:执行器心跳在 235516 毫秒后超时
驱动程序堆栈跟踪:
在 org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1499)
在 org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1487)
在 org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1486)
在 scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
在 scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
在 org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1486)
在 org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:814)
在 org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:814)
在 scala.Option.foreach(Option.scala:257)
在 org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:814)
在 org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive (DAGScheduler.scala:1714)
在 org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1669)
在 org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1658)
在 org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
在 org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:630)
在 org.apache.spark.SparkContext.runJob(SparkContext.scala:2022)
在 org.apache.spark.SparkContext.runJob(SparkContext.scala:2043)
在 org.apache.spark.SparkContext.runJob(SparkContext.scala:2062)
在 org.apache.spark.SparkContext.runJob(SparkContext.scala:2087)
在 org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:936)
在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
在 org.apache.spark.rdd.RDD.withScope(RDD.scala:362)
在 org.apache.spark.rdd.RDD.collect(RDD.scala:935)
在 org.apache.spark.rdd.PairRDDFunctions$$anonfun$collectAsMap$1.apply(PairRDDFunctions.scala:746)
在 org.apache.spark.rdd.PairRDDFunctions$$anonfun$collectAsMap$1.apply(PairRDDFunctions.scala:745)
在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
在 org.apache.spark.rdd.RDD.withScope(RDD.scala:362)
在 org.apache.spark.rdd.PairRDDFunctions.collectAsMap(PairRDDFunctions.scala:745)
在 org.apache.spark.ml.tree.impl.RandomForest$.findBestSplits(RandomForest.scala:563)
在 org.apache.spark.ml.tree.impl.RandomForest$.run(RandomForest.scala:198)
在 org.apache.spark.mllib.tree.RandomForest.run(RandomForest.scala:94)
在 org.apache.spark.mllib.tree.RandomForest$.trainRegressor(RandomForest.scala:218)
在 org.apache.spark.mllib.tree.RandomForest$.trainRegressor(RandomForest.scala:258)
在 org.apache.spark.mllib.tree.RandomForest$.trainRegressor(RandomForest.scala:274)
在 org.apache.spark.mllib.tree.RandomForest.trainRegressor(RandomForest.scala)
在 com.thingworx.analytics.training.trees.SparkRandomForestTrainer.train(SparkRandomForestTrainer.java:48)
在 com.thingworx.analytics.training.trees.SparkRandomForestTrainer.train(SparkRandomForestTrainer.java:21)
在 com.thingworx.analytics.training.trees.SparkTreeTrainer.trainModel(SparkTreeTrainer.java:63)
在 com.thingworx.analytics.training.Learner.internalTrainModel(Learner.java:101)
和
com.thingworx.analytics.training.TrainingFailedException:训练学习者时出错 [trainer=com.thingworx.analytics.training.trees.SparkRandomForestTrainer@65df41a,transformer=DecisionTreeTransformerFactory [maxNumberOfMiningFields=25 useRedundancyFilter=false expanding=false]]
在 com.thingworx.analytics.training.Learner.internalTrainModel(Learner.java:109)
在 com.thingworx.analytics.training.ensemble.AbstractEnsembleModel.lambda$executeTrainingOnLearners$0(AbstractEnsembleModel.java:72)
在 java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
在 java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
在 java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
在 java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
在 java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:545)
在 java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
在 java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:438)
在 com.thingworx.analytics.training.ensemble.AbstractEnsembleModel.executeTrainingOnLearners(AbstractEnsembleModel.java:78)
在 com.thingworx.analytics.training.ensemble.AbstractEnsembleModel.trainAllTrainers(AbstractEnsembleModel.java:100)
在 com.thingworx.analytics.training.ensemble.EliteAverageEnsembleModel.trainModel(EliteAverageEnsembleModel.java:60)
在 com.thingworx.analytics.training.Learner.internalTrainModel(Learner.java:101)
在 com.thingworx.analytics.training.MultiGoalTrainer.trainMultipleModels(MultiGoalTrainer.java:53)
在 com.thingworx.analytics.training.MultiGoalTrainer.trainModel(MultiGoalTrainer.java:38)
在 com.thingworx.analytics.training.Learner.internalTrainModel(Learner.java:101)
在 com.thingworx.analytics.training.Learner.trainForGoals(Learner.java:186)
在 com.thingworx.analytics.training.Learner.trainByParameters(Learner.java:133)
org.apache.spark.SparkException:作业因阶段失败而中止:阶段 1473.0 中的任务 0 失败 1 次,最近的失败:阶段 1473.0 中丢失任务 0.0(TID 4111,本地主机,执行程序驱动程序):ExecutorLostFailure(执行程序驱动程序退出导致通过其中一个正在运行的任务)原因:执行器心跳在 235516 毫秒后超时
驱动程序堆栈跟踪:
在 org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1499)
在 org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1487)
在 org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1486)
在 scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
在 scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
在 org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1486)
在 org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:814)
在 org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:814)
在 scala.Option.foreach(Option.scala:257)
在 org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:814)
在 org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive (DAGScheduler.scala:1714)
在 org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1669)
在 org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1658)
在 org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
在 org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:630)
在 org.apache.spark.SparkContext.runJob(SparkContext.scala:2022)
在 org.apache.spark.SparkContext.runJob(SparkContext.scala:2043)
在 org.apache.spark.SparkContext.runJob(SparkContext.scala:2062)
在 org.apache.spark.SparkContext.runJob(SparkContext.scala:2087)
在 org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:936)
在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
在 org.apache.spark.rdd.RDD.withScope(RDD.scala:362)
在 org.apache.spark.rdd.RDD.collect(RDD.scala:935)
在 org.apache.spark.rdd.PairRDDFunctions$$anonfun$collectAsMap$1.apply(PairRDDFunctions.scala:746)
在 org.apache.spark.rdd.PairRDDFunctions$$anonfun$collectAsMap$1.apply(PairRDDFunctions.scala:745)
在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
在 org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
在 org.apache.spark.rdd.RDD.withScope(RDD.scala:362)
在 org.apache.spark.rdd.PairRDDFunctions.collectAsMap(PairRDDFunctions.scala:745)
在 org.apache.spark.ml.tree.impl.RandomForest$.findBestSplits(RandomForest.scala:563)
在 org.apache.spark.ml.tree.impl.RandomForest$.run(RandomForest.scala:198)
在 org.apache.spark.mllib.tree.RandomForest.run(RandomForest.scala:94)
在 org.apache.spark.mllib.tree.RandomForest$.trainRegressor(RandomForest.scala:218)
在 org.apache.spark.mllib.tree.RandomForest$.trainRegressor(RandomForest.scala:258)
在 org.apache.spark.mllib.tree.RandomForest$.trainRegressor(RandomForest.scala:274)
在 org.apache.spark.mllib.tree.RandomForest.trainRegressor(RandomForest.scala)
在 com.thingworx.analytics.training.trees.SparkRandomForestTrainer.train(SparkRandomForestTrainer.java:48)
在 com.thingworx.analytics.training.trees.SparkRandomForestTrainer.train(SparkRandomForestTrainer.java:21)
在 com.thingworx.analytics.training.trees.SparkTreeTrainer.trainModel(SparkTreeTrainer.java:63)
在 com.thingworx.analytics.training.Learner.internalTrainModel(Learner.java:101)
和
com.thingworx.analytics.training.TrainingFailedException:训练学习者时出错 [trainer=com.thingworx.analytics.training.trees.SparkRandomForestTrainer@65df41a,transformer=DecisionTreeTransformerFactory [maxNumberOfMiningFields=25 useRedundancyFilter=false expanding=false]]
在 com.thingworx.analytics.training.Learner.internalTrainModel(Learner.java:109)
在 com.thingworx.analytics.training.ensemble.AbstractEnsembleModel.lambda$executeTrainingOnLearners$0(AbstractEnsembleModel.java:72)
在 java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
在 java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
在 java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
在 java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
在 java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:545)
在 java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
在 java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:438)
在 com.thingworx.analytics.training.ensemble.AbstractEnsembleModel.executeTrainingOnLearners(AbstractEnsembleModel.java:78)
在 com.thingworx.analytics.training.ensemble.AbstractEnsembleModel.trainAllTrainers(AbstractEnsembleModel.java:100)
在 com.thingworx.analytics.training.ensemble.EliteAverageEnsembleModel.trainModel(EliteAverageEnsembleModel.java:60)
在 com.thingworx.analytics.training.Learner.internalTrainModel(Learner.java:101)
在 com.thingworx.analytics.training.MultiGoalTrainer.trainMultipleModels(MultiGoalTrainer.java:53)
在 com.thingworx.analytics.training.MultiGoalTrainer.trainModel(MultiGoalTrainer.java:38)
在 com.thingworx.analytics.training.Learner.internalTrainModel(Learner.java:101)
在 com.thingworx.analytics.training.Learner.trainForGoals(Learner.java:186)
在 com.thingworx.analytics.training.Learner.trainByParameters(Learner.java:133)
这是文章 320043 的 PDF 版本,可能已过期。最新版本 CS320043