我有 Spark Streaming 应用程序,使用 HDFS 上的检查点写入。
有谁知道解决方案吗?
之前我们使用 kinit 来指定主体和密钥表,并得到了通过以下方式指定这些的建议spark-submit
命令代替kinit
但仍然出现此错误并导致 Spark Streaming 应用程序关闭。
spark-submit --principal [email protected] /cdn-cgi/l/email-protection --keytab /home/sparkuser/keytab/sparkuser.keytab --name MyStreamingApp --master yarn-cluster --conf "spark.driver.extraJavaOptions=-XX:+UseConcMarkSweepGC --conf "spark.eventLog.enabled=true" --conf "spark.streaming.backpressure.enabled=true" --conf "spark.streaming.stopGracefullyOnShutdown=true" --conf "spark.executor.extraJavaOptions=-XX:+UseConcMarkSweepGC --class com.abc.DataProcessor myapp.jar
我在日志中看到多次出现以下异常,最后 SIGTERM 15 杀死了执行程序和驱动程序。我们正在使用 CDH 5.5.2
2016-10-02 23:59:50 错误 SparkListenerBus LiveListenerBus:96 -
监听器EventLoggingListener抛出异常
java.lang.reflect.InitationTargetException
在 sun.reflect.GenerateMethodAccessor8.invoke(来源未知)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:606)
在 org.apache.spark.scheduler.EventLoggingListener$$anonfun$logEvent$3.apply(EventLoggingListener.scala:148)
在 org.apache.spark.scheduler.EventLoggingListener$$anonfun$logEvent$3.apply(EventLoggingListener.scala:148)
在 scala.Option.foreach(Option.scala:236)
在 org.apache.spark.scheduler.EventLoggingListener.logEvent(EventLoggingListener.scala:148)
在org.apache.spark.scheduler.EventLoggingListener.onUnpersistRDD(EventLoggingListener.scala:184)
在 org.apache.spark.scheduler.SparkListenerBus$class.onPostEvent(SparkListenerBus.scala:50)
在 org.apache.spark.scheduler.LiveListenerBus.onPostEvent(LiveListenerBus.scala:31)
在 org.apache.spark.scheduler.LiveListenerBus.onPostEvent(LiveListenerBus.scala:31)
在 org.apache.spark.util.ListenerBus$class.postToAll(ListenerBus.scala:56)
在org.apache.spark.util.AsynchronousListenerBus.postToAll(AsynchronousListenerBus.scala:37)
在 org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1.apply$mcV$sp(AsynchronousListenerBus.scala:79)
在 org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1135)
在 org.apache.spark.util.AsynchronousListenerBus$$anon$1.run(AsynchronousListenerBus.scala:63)
引起原因:java.io.IOException:租用超时 0 秒已过期。
在org.apache.hadoop.hdfs.DFSOutputStream.abort(DFSOutputStream.java:2370)
在org.apache.hadoop.hdfs.DFSClient.closeAllFilesBeingWritten(DFSClient.java:964)
在 org.apache.hadoop.hdfs.DFSClient.renewLease(DFSClient.java:932)
在org.apache.hadoop.hdfs.LeaseRenewer.renew(LeaseRenewer.java:423)
在 org.apache.hadoop.hdfs.LeaseRenewer.run(LeaseRenewer.java:448)
在org.apache.hadoop.hdfs.LeaseRenewer.access$700(LeaseRenewer.java:71)
在 org.apache.hadoop.hdfs.LeaseRenewer$1.run(LeaseRenewer.java:304)
在 java.lang.Thread.run(Thread.java:745)
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)