Hadoop:运行HDFS基准测试后如何删除块?

时间:2013-06-12 11:09:03

标签: hadoop mapreduce benchmarking hdfs

在我的双数据节点设置中,我正在运行TestDFSIO基准测试,并观察在运行基准测试的最后阶段会删除这些块。

这似乎是基准测试结束时执行的清理过程的一部分。日志通过以下行确认:

hadoop.mapred.JobTracker: Adding task (JOB_CLEANUP) ...

如何添加JOB_CLEANUP任务实际上与被删除的块/文件相关联?

我知道TestDFSIO.java有清理方法,但我无法看到在完成基准执行时如何/何时/何时调用它们。

1 个答案:

答案 0 :(得分:0)

Mapper类的run()方法(由Hadoop框架提供)调用清理方法:

public void run(Context context) throws IOException, InterruptedException {
  setup(context);
  while (context.nextKeyValue()) {
    map(context.getCurrentKey(), context.getCurrentValue(), context);
  }
  cleanup(context);
}