Spark Streaming - java.io.IOException:0秒的租约超时已过期

时间:2016-10-04 14:49:12

标签: apache-spark hdfs spark-streaming kerberos cloudera

我在HDFS上使用检查点写入火花串流应用程序。

有谁知道解决方案? 以前我们使用kinit来指定principal和keytab,并建议通过spark-submit命令而不是kinit指定这些,但仍然会出现此错误并导致火花流应用程序关闭。

spark-submit --principal sparkuser@HADOOP.ABC.COM --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.InvocationTargetException                  at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)                  at 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)                  at org.apache.spark.util.AsynchronousListenerBus.postToAll(AsynchronousListenerBus.scala:37)                  at 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)                  at 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)

0 个答案:

没有答案