hadoop - 完成任务时在SQLListener.onTaskEnd上引发NullPointerException

标签 hadoop apache-spark hdfs yarn

我有一个使用Scala的Spark应用程序,该应用程序执行一系列转换,然后将结果写入 Parquet 文件中。

转换部分顺利完成,结果输出正确写入HDFS。该应用程序在30个节点的YARN群集上运行。

但是,Spark应用程序本身不会完成并退出YARN。它将保留在资源管理器中。

挂了大约一个小时(消耗资源和vcore)后,它要么结束,要么抛出错误并杀死自己。

这是应用程序的错误日志。赞赏是否有人能对此事提供一些启示。

16/08/24 14:51:12 INFO impl.ContainerManagementProtocolProxy: Opening proxy : phhdpdn013x.company.com:8041
16/08/24 14:51:22 INFO cluster.YarnClusterSchedulerBackend: Registered executor NettyRpcEndpointRef(null) (phhdpdn013x.company.com:54175) with ID 1
16/08/24 14:51:22 INFO storage.BlockManagerMasterEndpoint: Registering block manager phhdpdn013x.company.com:24700 with 2.1 GB RAM, BlockManagerId(1, phhdpdn013x.company.com, 24700)
16/08/24 14:51:29 INFO cluster.YarnClusterSchedulerBackend: SchedulerBackend is ready for scheduling beginning after waiting maxRegisteredResourcesWaitingTime: 30000(ms)
16/08/24 14:51:29 INFO cluster.YarnClusterScheduler: YarnClusterScheduler.postStartHook done
16/08/24 15:11:00 ERROR scheduler.LiveListenerBus: Listener SQLListener threw an exception
java.lang.NullPointerException
    at org.apache.spark.sql.execution.ui.SQLListener.onTaskEnd(SQLListener.scala:167)
    at org.apache.spark.scheduler.SparkListenerBus$class.onPostEvent(SparkListenerBus.scala:42)
    at org.apache.spark.scheduler.LiveListenerBus.onPostEvent(LiveListenerBus.scala:31)
    at org.apache.spark.scheduler.LiveListenerBus.onPostEvent(LiveListenerBus.scala:31)
    at org.apache.spark.util.ListenerBus$class.postToAll(ListenerBus.scala:55)
    at org.apache.spark.util.AsynchronousListenerBus.postToAll(AsynchronousListenerBus.scala:37)
    at org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(AsynchronousListenerBus.scala:80)
    at org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(AsynchronousListenerBus.scala:65)
    at org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(AsynchronousListenerBus.scala:65)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
    at org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1.apply$mcV$sp(AsynchronousListenerBus.scala:64)
    at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1181)
    at org.apache.spark.util.AsynchronousListenerBus$$anon$1.run(AsynchronousListenerBus.scala:63)
16/08/24 15:11:46 ERROR scheduler.LiveListenerBus: Listener SQLListener threw an exception
java.lang.NullPointerException

a

最佳答案

您的Spark版本是什么?
您的错误看起来很像这个问题

https://issues.apache.org/jira/browse/SPARK-12339

关于hadoop - 完成任务时在SQLListener.onTaskEnd上引发NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39124610/

相关文章:

Hadoop hdfs 无法定位文件

java - 在 spark 提交中覆盖 spark 的库

apache-spark - apache spark 2.2 没有可用的 toString 方法

java - 当 hdfs 目录中创建文件时如何收到通知

linux - 如何查看edgenodes的数量?

hadoop - 客户端的Phoenix Installation给出异常?

hadoop - 在 YARN 上运行 Spark-Submit 但不平衡(只有 1 个节点在工作)

elasticsearch - Spark查询花费的时间太长

scala - 如何保存不为空的Spark数据框

hadoop - 从 reducer 输出文件读取