У меня есть приложение Spark, использующее Scala, которые выполняют серию преобразований, а затем записывают результат в файл паркета.Spark NullPointerException в SQLListener.onTaskEnd при завершении задачи
Часть преобразования завершена без проблем, результат вывода записывается в HDFS правильно. Приложение работает поверх кластера YARN из 30 узлов.
Однако само приложение «Искра» не будет завершено и не покинет YARN. Он останется в диспетчере ресурсов.
После того, как вы повесили около часа (потребляя ресурсы и силы), либо он заканчивает, либо бросает ошибку и убивает себя.
Это регистрационный код приложения. Цените, если кто-нибудь может пролить свет на этот вопрос.
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
аа
Ума обмена код? Является ли это воспроизводимым? –
Вы можете проверить настройки сообщений? –
FWIW, работает Spark 1.6 через около 65 хостов, у меня есть работа, которая получает эту ошибку примерно в 20% случаев. Иногда это префикс примерно такой: WARN TaskSetManager: потерянная задача 43.0 в стадии 0.0 (TID 205, AF001932.prod.imvu.com): java.io.FileNotFoundException:/data/1/yarn/local/usercache /jwatte/appcache/application_1492705589019_103715/spark-04076078-cff2-4975-a54a-83db2f658072/fetchFileTemp178.tmp (Нет такого файла или каталога) at java.io.FileInputStream.open –