第8章 调试
本章我们将介绍:
在MapReduce 中使用Counters 监测异常记录
使用MRUnit 开发和测试MapReduce
本地模式下开发和测试MapReduce
运行MapReduce 作业跳过异常记录
在流计算作业中使用Counters
更改任务状态显示调试信息
使用illustrate 调试Pig 作业
8.1 介绍
在Hadoop 中有这么一句格言:“everything breaks at scale”。畸形和异常的输入数据是十分常见的。处理大量的异常数据本身就是一个很大的问题。在 Hadoop 的上下文中,不同的任务是相互独立的,各自处理着不同的输入数据,这使得 Hadoop 能够很容易地分发作业,却很难监测全局事件和理解每个任务的状态。幸运的是,有一些工具和技术可以帮助调试Hadoop作业。本章我们将重点介绍如何使用这些工具和技术调试MapReduce作业。
8.2 在MapReduce中使用Counters监测异常记录
在MapReduce框架中提供了Counters这个可以在map阶段和reduce阶段有效监测全局事件的机制。举个例子,一个经典的MapReduce作业会启动多个mapper实例,每个输入数据快上都将运行同样的代码。这些实例是同一个作业的一部分,但是彼此又相互独立。Counters允许开发人员监测并聚合这些独立实例发生的事件。
Counters的一个更具体的使用可以在MapReduce自身框架找到。每个MapReduce作业都定义了一些独立的计数器。这些计数器的输出可以在Job Tracker Web 界面的作业详细信息中看到。
UI界面显示了计数器的组、名称、mapper统计、reducer统计和作业统计。
Counters应当只限于跟踪作业相关的元数据。基础计数器就是一个很好的例子。Map ...
Get Hadoop实际解决方案手册 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.