当前位置: 首页 > 知识库问答 >
问题:

当接收器发生故障且WAL存储在s3中时,Spark streaming无法从预写日志记录中读取数据

呼延景同
2023-03-14

这是错误日志-

组织。阿帕奇。火花SparkException:无法从组织中的预写日志记录文件BasedWriteHeadLogSegment(s3n://****/检查点/接收数据/20/日志-14392986600-1439298758600136785069)读取数据。阿帕奇。火花流动。rdd。WriteAheadLogBackedBlockRDD。org$apache$spark$streaming$rdd$writeahelogbackedblockrdd$$getblockfromwriteahelog$1(writeahelogbackedblockrdd.scala:144)位于org。阿帕奇。火花流动。rdd。WriteAheadLogBackedBlockRDD$$anonfun$计算$1。在org上应用(WriteAheadLogBackedBlockRDD.scala:168)。阿帕奇。火花流动。rdd。WriteAheadLogBackedBlockRDD$$anonfun$计算$1。在scala中应用(WriteAheadLogBackedBlockRDD。scala:168)。选项位于org的getOrElse(Option.scala:120)。阿帕奇。火花流动。rdd。WriteAheadLogBackedBlockRDD。compute(WriteAheadLogBackedBlockRDD.scala:168)位于org。阿帕奇。火花rdd。RDD。位于组织的computeOrReadCheckpoint(RDD.scala:277)。阿帕奇。火花rdd。RDD。org上的迭代器(RDD.scala:244)。阿帕奇。火花rdd。UnionRDD。在组织上计算(UnionRDD.scala:87)。阿帕奇。火花rdd。RDD。位于组织的computeOrReadCheckpoint(RDD.scala:277)。阿帕奇。火花rdd。RDD。org上的迭代器(RDD.scala:244)。阿帕奇。火花rdd。MapPartitionsRDD。在组织上计算(MapPartitionsRDD.scala:35)。阿帕奇。火花rdd。RDD。位于组织的computeOrReadCheckpoint(RDD.scala:277)。阿帕奇。火花rdd。RDD。org上的迭代器(RDD.scala:244)。阿帕奇。火花rdd。MapPartitionsRDD。在组织上计算(MapPartitionsRDD.scala:35)。阿帕奇。火花rdd。RDD。位于组织的computeOrReadCheckpoint(RDD.scala:277)。阿帕奇。火花rdd。RDD。org上的迭代器(RDD.scala:244)。阿帕奇。火花调度程序。ShuffleMapTask。在组织上运行任务(ShuffleMapTask.scala:70)。阿帕奇。火花调度程序。ShuffleMapTask。运行任务(ShuffleMapTask.scala:41),位于org。阿帕奇。火花调度程序。任务在组织上运行(Task.scala:70)。阿帕奇。火花执行人。执行者$TaskRunner。在java上运行(Executor.scala:213)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1145)。util。同时发生的ThreadPoolExecutor$工作者。在java上运行(ThreadPoolExecutor.java:615)。lang.Thread。运行(Thread.java:745)的原因:java。组织中的lang.NullPointerException。阿帕奇。火花流动。util。FileBasedWriteHeadLog。读取(filebasedWriteHeadlog.scala:106),位于org。阿帕奇。火花流动。rdd。WriteAheadLogBackedBlockRDD。org$apache$spark$streaming$rdd$writeahelogbackedblockrdd$$getblockfromwriteahelog$1(writeahelogbackedblockrdd.scala:141)。。。22个以上

注意:如果HDFS用作存储,从WAL读取可以正常工作。

非常感谢您的帮助。

共有1个答案

姬庆
2023-03-14

看起来目前s3不支持WAL,Spark团队正在开发WAL免费配置。

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

 类似资料:
  • 我正在使用GCS web仪表板/控制台中提供的传输工具来安排从S3到GCS的备份文件副本。 在GCS传输日志中,它显示UNKNOWN:(显示241个故障中的5个)。失败列表中显示的文件没有什么不同。同样的241个文件在每次计划的传输中失败。有没有地方我可以得到一个实际的错误消息? 我已经检查过: 在这些失败之前和之后有超过150万成功复制的其他文件。这些失败不是在传输列表的开始或结束,也不是连续的

  • 无法将应用程序推送到IBM云,原因是错误404表示暂存应用程序和跟踪日志...从日志缓存检索日志失败:意外状态代码404

  • 我想在我的应用程序中使用SLF4J+logback用于两个目的--日志和审计。 14:41:57.978[main]信息AUDIT_LOGGER-110欢迎使用main 如何确保审核消息在审核记录器下只出现一次?

  • 我正在将一个应用程序从Log4J 1.2.16迁移到Log4J 2.13.3。为此,我使用log4j21.2到2.13.3桥。在我自己的开发机器上,一切都运转良好。但是,当我将应用程序部署到测试服务器时,日志只会发送到根日志记录器,我定义的其他日志文件保持为空。 配置文件完全相同,只是附件中的路径不同。我的开发机器运行Windows,测试服务器运行Linux。该应用程序已部署到Weblogic 1

  • 我在构建APK时收到此错误。 试图使缓存无效并重新启动android studio。重建项目,但没有一个适合我。

  • 在我的web模块中有3个JAR。slf4j jar、log4j jar和slf4j-log4j12 jar和log4j.xml如下所示。 并且在我的服务模块和dao模块中只包含slf4j JAR。和日志记录详细信息在文件中。(所有模块的日志记录详细信息) hibernate和Spring的记录器是否也可以在我的文件中使用?记录文件中异常发生的方式? 谢谢你