本节书摘来异步社区《Hadoop MapReduce实战手册》一书中的第1章,第1.1节,作者: 【美】Srinath Perera , Thilina Gunarathne 译者: 杨卓荦 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.1 简介
Hadoop MapReduce实战手册
很多年来,想要存储和分析数据的用户都需要先将数据存储在数据库中,然后再通过SQL查询来处理。万维网已经改变了这个时代的大多数假设。万维网上的数据是非结构化的大型数据,以至于数据库既不能以某种模式捕捉它们,也无法扩展存储和处理它们。
Google是最早面对这类问题的组织之一,他们想要下载镜像因特网数据并索引它们以支持搜索查询。他们创建了一个用于大规模数据处理的框架,借鉴了函数式编程范式的“map”函数和
“reduce”函数。它们被称为MapReduce范式。
Hadoop最广为人知,同时也是最最广泛使用的MapReduce范式实现。本章将介绍Hadoop,描述如何安装Hadoop,并演示如何使用Hadoop运行你的第一个MapReduce作业。
Hadoop的安装由4种类型的节点构成:NameNode、DataNode、JobTracker和TaskTracker。HDFS节点(NameNode和DataNode)提供了一套分布式文件系统,在这套系统上,JobTracker管理作业,每个TaskTracker各自运行该作业的一部分任务。用户提交MapReduce作业给JobTracker,JobTracker运行这些初始作业的Map和Reduce部分,收集中间结果,并最终输出结果。
Hadoop提供了以下三种可供选择的安装方式。
- 本地模式:这是一种解压缩即运行的模式,能让你马上开始,Hadoop的各个部分都运行在同一JVM中。
- 伪分布式模式:这种模式将使用不用的java虚拟机运行Hadoop的不同部分,但这些java虚拟机运行在一台机器上。
- 分布式模式:这才是真正的跨多台机器的安装模式。
我们将在前三节中讨论本地模式,在后三节中讨论伪分布式和分布式模式。