1

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

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

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

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

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

4

1 回答 1

0

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

public void run(Context context) throws IOException, InterruptedException {
  setup(context);
  while (context.nextKeyValue()) {
    map(context.getCurrentKey(), context.getCurrentValue(), context);
  }
  cleanup(context);
}
于 2013-06-12T20:46:58.000 回答