我的配置是 hadoop 2.0.0 和 hbase 0.96。一切都在伪分布式模式下运行。
当我使用以下命令运行 importTsv 时。
./hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,surname,name,age persons 'hdfs://localhost:9000/user/joe/persons.tsv'
它尝试读取不存在的文件 hdfs://localhost:9000/home/joe/Programs/hbase-0.96.0-hadoop2/lib/hbase-client-0.96.0-hadoop2.jar...
在堆栈跟踪下方。
非常感谢您的帮助。
2013-10-22 19:33:52,079 INFO [main] mapreduce.TableOutputFormat:为人员创建表实例 2013-10-22 19:33:53,253 INFO [main] mapreduce.JobSubmitter:清理暂存区文件:/tmp/hadoop-joe/mapred/staging/joe1659915806/.staging/job_local1659915806_0001 2013-10-22 19:33:53,256 错误 [main] security.UserGroupInformation: PriviledgedActionException as:joe (auth:SIMPLE) 原因:java.io.FileNotFoundException:文件不存在:hdfs://localhost:9000/home/乔/程序/hbase-0.96.0-hadoop2/lib/hbase-client-0.96.0-hadoop2.jar 线程“主”java.io.FileNotFoundException 中的异常:文件不存在:hdfs://localhost:9000/home/joe/Programs/hbase-0.96.0-hadoop2/lib/hbase-client-0.96.0-hadoop2 。罐 在 org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1110) 在 org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1102) 在 org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) 在 org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1102) 在 org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:288) 在 org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:224) 在 org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestamps(ClientDistributedCacheManager.java:93) 在 org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.determineTimestampsAndCacheVisibilities(ClientDistributedCacheManager.java:57) 在 org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:264) 在 org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:300) 在 org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:387) 在 org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268) 在 org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) 在 org.apache.hadoop.mapreduce.Job.submit(Job.java:1265) 在 org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286) 在 org.apache.hadoop.hbase.mapreduce.ImportTsv.run(ImportTsv.java:480) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) 在 org.apache.hadoop.hbase.mapreduce.ImportTsv.main(ImportTsv.java:484)