} finally {
if (httpurlconnection != null) {
httpurlconnection.disconnect();
}
}
有了工具代码之后,我们通过实现Mapper来封装该工具,因此上述代码中我使用了“org.apache.hadoop.mapred.Reporter”的方法“incrCounter(Stringarg0, String arg1, long arg2)”来对测试中的重要过程数据进行计数,该方法会将所有map/reduce task中汇报的arg0|arg1定义的值arg2进行相加,输出到MR的jobtracker页面上,通过观察作业执行页面可以实时获取这些测试执行过程信息。此外,我还调度了“setStatus(String arg0)”方法,该方法可以实时更新当前所处task的页面信息,提供更详细的单个task执行情况信息。jobdetails.jsp页面观察结果如下所示:
|
Counter |
Map |
Reduce |
Total |
TestTool |
Http Post num |
xxxx |
0 |
xxxx |
Record num |
xxxx |
yy |
zzzz |
|
Read Size |
xx |
0 |
xx |
jobtasks.jsp页面观察结果如下所示:
Task |
Complete |
Status |
Start Time |
Finish Time |
Errors |
Counters |
task_xx_m_1 |