当我运行"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)
有人能帮忙吗?
如果我试图在终止作业后直接读取日志,就会出现此错误。我会说在顶部给它一分钟,然后尝试再次读取日志。
在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
中聚合