分享

MapReduce程序日志查看

arsenduan 发表于 2015-11-28 19:34:55 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 11367
本帖最后由 arsenduan 于 2015-11-28 20:14 编辑
首先,如果需要打印日志,不需要用log4j这些东西,直接用System.out.println即可,这些输出到stdout的日志信息可以在jobtracker站点最终找到。

其次,如果在main函数启动的时候用System.out.println打印的日志,直接在控制台就可以看到。

再其次,jobtracker站点很重要。
[mw_shl_code=bash,true]http://your_name_node:50030/jobtracker.jsp [/mw_shl_code]

注意,在这里看到Map 100%不一定正确,有时候会卡在Map阶段并没有完成,而此时居然显示Map 100%,所以要一层层的点进去,直到看到日志为止。


另外,在cluster summary表格中可以看到map/reduce slots的情况,方便了解集群计算资源。可以写个脚本定时收集slots信息,方便分析出集群高峰和空闲时间段。

进一步补充:
context.write(key, new LongWritable(sumSalary));

context.write也可以输出相关信息

[mw_shl_code=bash,true] public static class Reduce extends Reducer<Text, Text, Text, LongWritable> {

public void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException {

            // 对同一部门的员工工资进行求和
            long sumSalary = 0;
            for (Text val : values) {
                sumSalary += Long.parseLong(val.toString());
            }

            // 输出key为部门名称和value为该部门员工工资总和
            context.write(key, new LongWritable(sumSalary));
        }
    }[/mw_shl_code]

已有(1)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条