我正在尝试在扩展TableMapper的非常基本的映射器上使用HbaseTestingUtility运行测试。
在测试类中,我使用utility.startMiniCluster()启动MiniCluster,并在设置方法中使用utility.createTable(tablename_bytes, familyname_bytes)创建测试表。

然后,我使用以下命令启动映射器:

Job job = new Job(utility.getConfiguration()); //Job.getInstance();
TableMapReduceUtil.initTableMapperJob(tableName, new Scan(),MyBasicHbaseMapper.class,Text.class, Text.class, job);
job.waitForCompletion(true);

这是我得到的错误:
   java.io.FileNotFoundException: File does not exist: hdfs://localhost:57276/Users/user1/.m2/repository/org/cloudera/htrace/htrace-core/2.04/htrace-core-2.04.jar

这个jar文件在~/.m2/repository/org/cloudera/htrace/htrace-core/2.04/htrace-core-2.04.jar中。

我究竟做错了什么?

最佳答案

我遇到了类似的问题,将头撞了几个小时,终于意识到了解决方案...

调用后立即:

utility.startMiniCluster();

调用:
utility.startMiniMapReduceCluster();

#startMiniCluster方法仅启动HBase,HDFS和Zookeeper的小型集群。启动MapReduce迷你集群需要#startMiniMapReduceCluster !!

顺便说一句,测试处理完成后,请确保调用:
utility.shutdownMiniMapReduceCluster();
utility.shutdownMiniCluster();

关于testing - HbaseTestingUtility和MapReduce作业,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28413461/

10-12 17:31