java.lang.NumberFormatException:对于输入字符串:" spark.locality.wait"

时间:2015-07-02 21:42:49

标签: apache-spark yarn cloudera-cdh

我们有一个CDH5.4.2纱线群集,提交一个非常简单的示例火花作业会产生以下异常:

15/07/02 17:21:06 ERROR scheduler.DAGSchedulerEventProcessLoop: DAGSchedulerEventProcessLoop failed; shutting down SparkContext
java.lang.NumberFormatException: For input string: "spark.locality.wait"
    at     java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Long.parseLong(Long.java:441)
    at java.lang.Long.parseLong(Long.java:483)
    at scala.collection.immutable.StringLike$class.toLong(StringLike.scala:230)
    at scala.collection.immutable.StringOps.toLong(StringOps.scala:31)
    at org.apache.spark.scheduler.TaskSetManager.org$apache$spark$scheduler$TaskSetManager$$getLocalityWait(TaskSetManager.scala:853)
    at org.apache.spark.scheduler.TaskSetManager.computeValidLocalityLevels(TaskSetManager.scala:872)

查看日志,我可以看到属性中设置的值

spark.localExecution.enabled=false
spark.locality.wait=3000
spark.locality.wait.node=spark.locality.wait
spark.locality.wait.process=spark.locality.wait
spark.locality.wait.rack=spark.locality.wait

因此,locality的值看起来像一个有效的long,而且我的代码中似乎没有发生这种情况,所以有人能指出我正确的方向吗?

这使得spark执行器处于RUNNING状态,并且它永远不会出现。它还会杀死http应用程序监视器。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

使用

spark.localExecution.enabled=false
spark.locality.wait=3000
spark.locality.wait.node=3000
spark.locality.wait.process=3000
spark.locality.wait.rack=3000