设置:
我有一个 map-reduce 工作。在映射器类(显然在集群上运行)中,我有一个类似这样的代码:
try {
.
.
.
} catch (<some exception>) {
// Do some stuff
}
我想改变的:
在 catch{} 子句中,我想将日志从集群复制到本地文件系统
问题:
如果我从命令行检查,我可以在节点上的目录中看到日志文件。但是当我尝试使用 org.apache.hadoop.fs.FileSystem.copyToLocalFile(boolean delSrc, Path src, Path dst) 复制它时,它说该文件不存在。
谁能告诉我我做错了什么?我对 Hadoop 很陌生,所以我可能遗漏了一些明显的东西。如果需要,请询问我任何澄清问题,因为我不确定我是否提供了所有必要的信息。
谢谢
编辑 1: : 由于我试图将文件从集群复制到本地并且 java 代码也在集群上运行,我什至可以使用copyToLocalFile()
吗?还是我需要做一个简单的scp
?