【发布时间】:2016-08-29 22:43:08
【问题描述】:
我使用的是 spark“Spark 1.6.1-mapr-1604”版本。
我在本地模式下的作业成功执行,但是当我在纱线集群模式下启动相同的作业时,它会抛出 ExceptionInInitializerError。
本地模式命令:
spark-submit --class com.ts.clustering.TrainModel \
ts-0.0.1-SNAPSHOT.jar \
-model /user/hive/warehouse/ts/clustering_model
-ip /user/hive/warehouse/ts/aidata_seq/*
-k 10 -ite 10 > app_2.log &
纱线簇模式:
spark-submit --queue dev --master yarn \
--deploy-mode cluster \
--class com.ts.clustering.TrainModel ts-0.0.1-SNAPSHOT.jar \
-model /user/hive/warehouse/ts/clustering_model \
-ip /user/hive/warehouse/ts/aidata_seq/* -k 10 -ite 10 > app_2.log &
-model 参数是要保存模型的输出位置。
集群模式下的异常:
2016-08-29 17:18:46,312 WARN [task-result-getter-0] scheduler.TaskSetManager:
Lost task 0.0 in stage 0.0 (TID 0, ******************): java.lang.ExceptionInInitializerError
at com.ts.clustering.TrainModel$2.call(TrainModel.java:71)
at com.ts.clustering.TrainModel$2.call(TrainModel.java:67)
at org.apache.spark.api.java.JavaPairRDD$$anonfun$toScalaFunction$1.apply(JavaPairRDD.scala:1015)
at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
at scala.collection.Iterator$$anon$14.hasNext(Iterator.scala:389)
at org.apache.spark.storage.MemoryStore.unrollSafely(MemoryStore.scala:284)
Caused by: org.apache.spark.SparkException: A master URL must be set in your configuration
at org.apache.spark.SparkContext.<init>(SparkContext.scala:401)
at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:59)
at com.ts.clustering.TrainModel.<clinit>(TrainModel.java:35)
... 21 more
我已经浏览了几个类似的帖子,但没有任何帮助。任何建议都会有很大帮助。
【问题讨论】:
-
我投票结束这个问题,因为缺少 MVCE 并且属于题外话规则“为什么我的代码不起作用”
标签: apache-spark mapr