java.io.IOException:不是有效的BCFile

时间:2015-12-13 02:58:14

标签: hadoop yarn

当我运行“yarn logs -applicationId application_1438080928000_6932”时,出现此异常:

Exception in thread "main" java.io.IOException: Not a valid BCFile.
    at org.apache.hadoop.io.file.tfile.BCFile$Magic.readAndVerify(BCFile.java:927)
    at org.apache.hadoop.io.file.tfile.BCFile$Reader.<init>(BCFile.java:628)
    at org.apache.hadoop.io.file.tfile.TFile$Reader.<init>(TFile.java:804)
    at org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat$LogReader.<init>(AggregatedLogFormat.java:358)
    at org.apache.hadoop.yarn.logaggregation.LogCLIHelpers.dumpAllContainersLogs(LogCLIHelpers.java:122)
    at org.apache.hadoop.yarn.client.cli.LogsCLI.run(LogsCLI.java:137)
    at org.apache.hadoop.yarn.client.cli.LogsCLI.main(LogsCLI.java:199)

任何人都可以提供一些帮助吗?

2 个答案:

答案 0 :(得分:0)

如果我在杀死作业后尝试直接读取日志,则会收到此错误。我会说在顶部给它一分钟,然后尝试再次阅读日志。

答案 1 :(得分:0)

在HDP环境中,如果有人在使用某些TFile阅读器手动解析容器日志时遇到此错误,则此答案可能会有所帮助...

在HDP中,yarn.log-aggregation.file-formats的默认值为IndexedFormat,TFile
因此,它将仅以/app-logs/<user>/logs-ifile

的索引文件格式聚合日志

删除yarn.log-aggregation.file-formats属性的IndexedFile值。仅提供TFile格式。 日志将汇总到/app-logs/<user>/logs