用 Hadoop 进行分布式数据处理,第 2 部分: 进阶
2010-07-06 00:00:00 来源:WEB开发网最后一步是探索输出数据。由于您运行了 wordcount MapReduce 作业,结果是一个文件(从已处理映射文件缩减而来)。该文件包含一个元组列表,表示输入文件中找到的单词和它们在所有输入文件中出现的次数:
清单 15. 检测 MapReduce 作业的输出
root@master:~# hadoop-0.20 fs -ls output
Found 2 items
drwxr-xr-x - root supergroup 0 2010-05-12 19:04 /user/root/output/_logs
-rw-r--r-- 2 root supergroup 30949 2010-05-12 19:05 /user/root/output/part-r-00000
root@master:~# hadoop-0.20 fs -cat output/part-r-00000 | head -13
!= 1
"Atomic 2
"Cache 2
"Control 1
"Examples 1
"Has 7
"Inter-CPU 1
"LOAD 1
"LOCK" 1
"Locking 1
"Locks 1
"MMIO 1
"Pending 5
root@master:~#
Web 管理界面
尽管 hadoop-0.20 实用程序的功能极其丰富,但有时使用一个 GUI 会更方便。在执行文件系统检测时,您可以通过 http://master:50070 链接到名称节点,通过 http://master:50030 连接到 jobtracker 。您可以通过名称节点检测 HDFS,如图 5 所示,在这里您检测输入目录(包含输入数据 — 见上面 清单 13)。
图 5. 通过名称节点检测 HDFS
通过 jobtracker,您可以检测运行中或已完成的作业。在图 6 中,您可以看到对最后一个作业的检测(来自 清单 14)。该图展示了作为 Java 存档(JAR)请求的输出发出的各种数据,以及任务的状态和数量。注意,这里执行了两个映射任务(每个输入文件一个映射)和一个缩减任务(用于缩减两个映射输入)。
图 6. 检查一个已完成作业的状态
最后,您可以通过名称节点检查数据节点的状态。名称节点主页确定活动节点和死节点(作为链接)的数量,且允许您进一步检测它们。图 7 所示的页面显示了活动数据节点以及每个节点的统计数据。
图 7. 检查活动数据节点的状态
通过名称节点和 jobtracker Web 界面,可以查看许多其他视图,但出于简洁,只显示该样例集。在名称节点和 jobtracker Web 页面内,您会找到大量链接,从而引导您获取有关 Hadoop 配置和操作的其他信息(包括运行时日志)。
更进一步
在本期中,您了解了如何将一个伪分布式配置从 Cloudera 转化为一个完全分布式配置。寥寥无几的步骤以及 MapReduce 应用程序的一个相同接口,就使 Hadoop 成为一个能实现分布式处理的有用工具。另一个有趣的部分就是 Hadoop 的可伸缩性探讨。通过添加新数据节点(并更新其 XML 文件和 master 中的 slave 文件),您可以轻松伸缩 Hadoop 来进行更高级别的平行处理。第 3 部分,也就是本 Hadoop 系列的最后一期,将探讨如何为 Hadoop 开发一个 MapReduce 应用程序。
更多精彩
赞助商链接