Hadoop 基本原理与应用

本文介绍了Hadoop的诞生背景、HDFS的特点和数据块概念,以及MapReduce的基本原理。HDFS以错误检测和恢复机制为核心,支持大规模数据集的流式访问,而MapReduce则提供了一种简化数据处理的模型。Hadoop生态系统的成熟,包括Yarn的引入,使得分布式计算和存储得到了广泛发展和应用。
摘要由CSDN通过智能技术生成

图片

一、时代背景

2000 年左右的时候,中国互联网尚处在门户时代,世界互联网已经开始腾飞。

一方面,以 Google 为代表的主流互联网公司开始面临数据爆发的场景;另一方面,当时的互联网公司普遍选择使用配置低下的廉价服务器。 所以急剧增加的数据量与低下的计算存储能力之间的矛盾成为了当时的主流互联网公司面临的主要矛盾之一。 

超级计算机虽然能够解决一部分大数据计算的问题,但是超级计算机价格高昂,主要在实验室和科研机构中采用。工业界尚没有一个统一的且得到广泛商用的分布式计算框架,虽然当时已经也研究出来了一些分布式的计算框架,但是大部分都还停留在实验室或者科研机构里面。

没有得到推广的原因其实也比较简单,就是那些分布式框架设计的实在是太复杂了,根本就没有办法被很好的理解,更不用说写代码去做实现和做分布式计算了。

二、Hadoop 的诞生

在这个时代背景下,我们来看一下 Hadoop 是如何诞生的。

第一个时间点是 2003 年的 11 月份,Google 发表了第一篇论文《The Google File System》,后面我们简称 GFS。主要内容是如何解决分布式存储的问题。

第二个时间节点是 2004 年 12 月份,Google 发表了第二篇论文《MapReduce:Simplified Data Processing on Large Clusters》。讨论的是在大规模集群下一种简化了的数据处理模型,后面我们还会具体分析。 

顺便提一下,在 2006 年的时候,Google 发表了第三篇论文,叫《Bigtable: A Distributed Storage System for Structured Data》。

这三篇论文的发表基本上就标志着整个大数据时代的来临,我们一般也把它们称为是大数据领域的三驾马车。第一篇论文解决的是分布式存储的问题;第二篇论文解决的是分布式计算的问题;第三篇论文解决的是大规模结构化数据的存储和查询问题。

Google 在发表这些论文之前内部已经构建出了相应的系统,而且在公司内部得到了广泛的应用。同时 Google 是一家做搜索引擎的公司,核心问题是解决互联网的爬取和索引构建,当互联网上的数据特别大时,如何对这么多的数据快速的构建索引,在 MapReduce 诞生之前 Google 内部各个部门的具体实现也都不一致,但是碰到的问题和大概的解决思路是类似的,比如如何进行多台机器的任务划分、如何进行容错,但是大家基本都在做一些重复造轮子的工作,而且实现和维护成本都很高。这时 Google 内部的大神 Jeff Dean 就基于大家的实践抽象出了 MapReduce 的架构。

但是,Google 的这三篇论文和 Hadoop 有什么关系呢?这时就要提到第二个人 ——Doug Cutting,Doug Cutting 是一个开源系统爱好者,和 Google 差不多同期也实现了一个开源版本的搜索引擎。

但是,他的引擎始终无法做到 Google 这么快的搜索和索引构建能力,当 Google 发表了这两篇论文之后,Doug Cutting 受到了启发,就实现了开源版本的 GFS 和 MapReduce。一开始做这两个系统也主要是为了解决搜索引擎当中碰到的数据统计问题,但是人们很快发现,MapReduce 这个框架其实是很灵活而且非常通用的。

于是到 2006 年 2 月份,Hadoop 项目就正式成立了,它就包含了两个部分:一部分叫做 MapReduce,解决分布式计算的问题;另外一个部分叫做 HDFS,解决分布式存储的问题。

另外也提一下 Hadoop 这个名字是怎么来的,Doug Cutting 曾经解释说这个名字其实是他儿子的一个毛绒玩具大象的名字,包括现在大家看到的 Hadoop 的黄色大象 Logo,其实也是来自于这个玩具大象的启发。不过现在我们说玩转大数据的时候,常常说让大象能跳舞,也是在形象的强调 Hadoop 给大数据带来的灵活计算的能力。

三、HDFS 的特点

Hadoop 包含了 HDFS 和 MapReduce 两部分,我们先来具体看一下 HDFS 是如何设计的,它有哪些特点呢?

第一个特点:错误检测和自动恢复机制是 HDFS 最核心的架构目标。为什么错误恢复会是当时的核心目标呢,这和当时的服务器配置也有很大关系,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值