我有一个 Web UI,它试图在 HBase 表上生成一个 MR 作业。不过,我一直收到此错误:
java.io.FileNotFoundException: File /opt/hadoop/mapreduce/system/job_201205251929_0007/libjars/zookeeper-3.3.2.jar does not exist.
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:361)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245)
at org.apache.hadoop.filecache.DistributedCache.getTimestamp(DistributedCache.java:509)
at org.apache.hadoop.mapred.JobClient.configureCommandLineOptions(JobClient.java:629)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:761)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:432)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:448)
我正在使用 hbase 0.90.4。HBase管理着自己的动物园管理员。而且,我确认我的HDFS中有/opt/hadoop/mapreduce/system/job_201205251929_0007/libjars/zookeeper-3.3.2.jar
。它是否在本地 FS 中寻找?
我发现我的类路径上没有核心站点.xml,它采用本地FS而不是HDFS进行 fs.default.name。这个罐子存在于HDFS中,但它在本地FS中寻找。
在映射器或化简器中访问的任何 jar 文件都需要位于集群中所有节点的本地文件系统中。检查您当地的 FS。