快捷搜索:

纵观 Hadoop 发展史,离它退出历史舞台还有多远?

作者简介:范东来,Spark Contributor。本文选自:拉勾教育专栏《即学即用的 Spark 实战 44 讲》

你好,我是你的 Spark 课程老师范东来,这个课时我将为你介绍:“集群的操作系统:Hadoop”。

Hadoop 的出现,对于坐拥数据而苦于无法分析的用户来说,无疑是久旱逢甘霖,加之那段时间移动互联网的流行,数据呈几何倍数增长,Hadoop 在很大程度上解决了数据处理的痛点。

在很长的一段时间里,Hadoop 是大数据处理的事实标准,直到现在,很多公司的大数据处理架构也是围绕 Hadoop 而建的。

基于此,本课时主要讨论以下几个问题:

Hadoop 1.0Hadoop 2.0Hadoop 生态圈与发行版

本文选自:拉勾教育专栏《即学即用的 Spark 实战 44 讲》

Hadoop 1.0

Hadoop 从问世至今一共经历了 3 个大版本,分别是 1.0、2.0 与最新的 3.0,其中最有代表性的是 1.0 与 2.0,3.0 相比于 2.0 变化不大。Hadoop 1.0 的架构也比较简单,基本就是按照论文中的框架实现,其架构如下图所示:

纵观 Hadoop 发展史,离它退出历史舞台还有多远?

其中,下层是 GFS 的开源实现 HDFS(Hadoop 分布式文件系统),上层则是分布式计算框架 MapReduce,这样一来,分布式计算框架基于分布式文件系统,看似非常合理。但是,在使用的过程中,这个架构还是会出现不少问题,主要有 3 点:

主节点可靠性差,没有热备;提交 MapReduce 作业过多的情况下,调度将成为整个分布式计算的瓶颈;资源利用率低,并且不能支持其他类型的分布式计算框架。

第 1 点是小问题,涉及到对系统可用性方面的改造,但是第 2 点与第 3 点提到的问题就比较犀利了。

第 2 个问题在于,Hadoop 1.0 的分布式计算框架 MapReduce 并没有将资源管理和作业调度这两个组件分开,造成当同时有多个作业提交的时候,资源调度器会不堪重负,导致资源利用率过低;第 3 个问题则是不支持异构的计算框架,这是什么意思呢?

其实当时 Spark 已经问世了,但是如果这个集群部署了 Hadoop 1.0,那么想要运行 Spark 作业就必须另外再部署一个集群,这样无疑是对资源的浪费,很不合理,不过这也没办法,因为这属于直接套用论文造成的历史遗留问题。

本文选自:拉勾教育专栏《即学即用的 Spark 实战 44 讲》

Hadoop 2.0

基于这些问题,社区开始着手 Hadoop 2.0 的开发,Hadoop 2.0 最大的改动就是引入了资源管理与调度系统 YARN,代替了原有的计算框架,而计算框架则变成了类似于 YARN 的用户,如下图:

纵观 Hadoop 发展史,离它退出历史舞台还有多远?

YARN 将集群内的所有计算资源抽象成一个资源池,资源池的维度有两个:CPU 和内存。同样是基于 HDFS,我们可以认为 YARN 管理计算资源,HDFS 管理存储资源。

上层的计算框架地位也大大降低,变成了 YARN 的一个用户,另外,YARN 采取了双层调度的设计,大大减轻了调度器的负担,我会在后续课程详细讲解,这里不展开讨论。

Hadoop 2.0 基本上改进了 Hadoop 的重大缺陷,此外 YARN 可以兼容多个计算框架,如 Spark、Storm、MapReduce 等,HDFS 也变成了很多系统底层存储,Hadoop 以一种兼收并蓄的态度网罗了一大批大数据开源技术组件,逐渐形成了一个庞大的生态圈,如下图所示(该图只展示了一部分组件)。在当时,如果你要想搭建一个大数据平台,绝对无法绕过 Hadoop。

纵观 Hadoop 发展史,离它退出历史舞台还有多远?

Hadoop 生态圈与发行版

Hadoop 生态圈的各个组件包含了 Hadoop 的核心组件,如 HDFS、YARN。在计算层也有了更多的选择,如支持 SQL 的 Hive、Impala,以及 Pig、Spark、Storm 等。还有些工具类的组件,比如负责批量数据抽取的 Sqoop,负责流式数据传输的 Flume,负责分布式一致性的 Zookeeper。

此外,还有一些运维类组件,例如负责部署的 Ambari、集群监控的 ganglia 等。这些组件看似繁杂,但都是一个生产环境的所必需的。所以在当时,将如此多的组件集成到一个平台,会有很多各式各样的问题。

很快有公司注意到了这个问题中的商机,其中做的最好的是 Cloudera 和 Hortonworks 这两家公司,它们核心产品就是将上述 Hadoop 生态圈中最常用到的开源组件打包为一个 Hadoop 发行版。

Clouera 的叫 CDH,Hortonworks 的叫 HDP,这个发行版中的所有组件不会有兼容性等其他莫名其妙的问题,供用户免费使用,当然也为那些技术实力不强的公司准备了收费版。

在 Hadoop 最鼎盛的阶段,几乎所有公司的大数据平台都使用了这两家公司的 Hadoop 发行版,Cloudera 也得到了资本市场的认可,一度估值 50 亿美金。

但随着 Hadoop 的没落,Cloudera 在上市后,股价一直缩水,最后与同样是上市公司的 Hortonworks 进行了合并,合并后的股价仅有 20 亿美金。值得一提的是,Hadoop 之父 Doug Cutting 也是是Cloudera 公司的成员。

纵观 Hadoop 发展史,离它退出历史舞台还有多远?

纵观 Hadoop 发展史,离它退出历史舞台还有多远?

总结

本节课主要讲解了 Hadoop 的架构及其一些关键组件等概念性的东西,作为集群的操作系统,Hadoop 短时间不会,未来也很难退出大数据的舞台。

本课时的内容就到这里啦,下节课我将为你讲解:“统一资源管理与调度系统的设计与实现”,记得按时来听课哦。

本文选自:拉勾教育专栏《即学即用的 Spark 实战 44 讲》

版权声明:本文版权归属拉勾教育及该专栏作者,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者必究。

您可能还会对下面的文章感兴趣: