gpt4 book ai didi

file-io - Spark 指标错误 : CsvReporter: Error writing to jvm. PS-MarkSweep.count

转载 作者:行者123 更新时间:2023-12-02 13:51:32 24 4
gpt4 key购买 nike

我已将 Spark 配置为在两个节点上运行,HDFS 托管输入文件。我想将metrics.properties 提供的所有统计文件转储到HDFS 或每个节点的本地目录。

这是我对metrics.properties的统计位置的配置:

*.sink.csv.directory=hdfs://ip:port/user/spark_stats/

我还尝试在每个节点中创建一个临时本地目录并配置metrics.properties,如下所示:

*.sink.csv.directory=/tmp/spark_stats/

两种方法都会产生如下错误:

16/03/02 15:41:49 WARN CsvReporter: Error writing to jvm.PS-MarkSweep.count
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at com.codahale.metrics.CsvReporter.report(CsvReporter.java:241)
at com.codahale.metrics.CsvReporter.reportGauge(CsvReporter.java:234)
at com.codahale.metrics.CsvReporter.report(CsvReporter.java:150)
at com.codahale.metrics.ScheduledReporter.report(ScheduledReporter.java:162)
at com.codahale.metrics.ScheduledReporter$1.run(ScheduledReporter.java:117)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
16/03/02 15:41:49 WARN CsvReporter: Error writing to jvm.PS-MarkSweep.count
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
....

我的应用程序仍然可以正常运行并完成。但 Spark 日志文件显示写入统计文件时出现错误。有人遇到过这个问题吗?

跟进:仔细查看错误信息,所有IO错误都是写入master jvm信息导致的。如果我指定仅转储工作程序、驱动程序和执行程序的 jvm 信息,则不会出现错误。

可以将此行放入 metric.properties 文件中进行修复: executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource

最佳答案

出现此错误是因为 CSVRepoter 实际上旨在将新指标附加到同一文件中。由于 HDFS 限制附加同一文件,因此 CSV Repoter 正在写入本地文件。

发生此错误是因为本地文件系统中缺少给定路径。

关于file-io - Spark 指标错误 : CsvReporter: Error writing to jvm. PS-MarkSweep.count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com