作者:范东来
版权归属:拉勾教育
Hadoop 的出现,对于坐拥数据而苦于无法分析的用户来说,无疑是久旱逢甘霖,加之那段时间移动互联网的流行,数据呈几何倍数增长,Hadoop 在很大程度上解决了数据处理的痛点。
在很长的一段时间里,Hadoop 是大数据处理的事实标准,直到现在,很多公司的大数据处理架构也是围绕 Hadoop 而建的。
了解 Hadoop ,就要清楚这些:
  • Hadoop 1.0
  • Hadoop 2.0
  • Hadoop 生态圈与发行版
Hadoop 1.0
Hadoop 从问世至今一共经历了 3 个大版本,分别是 1.0、2.0 与最新的 3.0,其中最有代表性的是 1.0 与 2.0,3.0 相比于 2.0 变化不大。
Hadoop 1.0 的架构也比较简单,基本就是按照论文中的框架实现,其架构如下图所示:
其中,下层是 GFS 的开源实现 HDFS(Hadoop 分布式文件系统),上层则是分布式计算框架 MapReduce,这样一来,分布式计算框架基于分布式文件系统,看似非常合理。
但是,在使用的过程中,这个架构还是会出现不少问题,主要有 3 点:
  1. 主节点可靠性差,没有热备;
  2. 提交 MapReduce 作业过多的情况下,调度将成为整个分布式计算的瓶颈;
  3. 资源利用率低,并且不能支持其他类型的分布式计算框架。
第 1 点是小问题,涉及到对系统可用性方面的改造,但是第 2 点与第 3 点提到的问题就比较犀利了。
第 2 个问题在于,Hadoop 1.0 的分布式计算框架 MapReduce 并没有将资源管理和作业调度这两个组件分开,造成当同时有多个作业提交的时候,资源调度器会不堪重负,导致资源利用率过低;
第 3 个问题则是不支持异构的计算框架,这是什么意思呢?
其实当时 Spark 已经问世了,但是如果这个集群部署了 Hadoop 1.0,那么想要运行 Spark 作业就必须另外再部署一个集群。
这样无疑是对资源的浪费,很不合理,不过这也没办法,因为这属于直接套用论文造成的历史遗留问题。
Hadoop 2.0
基于这些问题,社区开始着手 Hadoop 2.0 的开发,Hadoop 2.0 最大的改动就是引入了资源管理与调度系统 YARN,代替了原有的计算框架,而计算框架则变成了类似于 YARN 的用户,如下图:
YARN 将集群内的所有计算资源抽象成一个资源池,资源池的维度有两个:CPU 和内存。同样是基于 HDFS,我们可以认为 YARN 管理计算资源,HDFS 管理存储资源。
上层的计算框架地位也大大降低,变成了 YARN 的一个用户,另外,YARN 采取了双层调度的设计,大大减轻了调度器的负担,我会在后续课程详细讲解,这里不展开讨论。
Hadoop 2.0 基本上改进了 Hadoop 的重大缺陷,此外 YARN 可以兼容多个计算框架,如 Spark、Storm、MapReduce 等,HDFS 也变成了很多系统底层存储。
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 短时间不会,未来也很难退出大数据的舞台。
更多 Spark 内容,会在我的专栏中深入讲解。
版权声明:本文版权归属拉勾教育及该专栏作者,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者必究。
关于 Spark ,想学更多?
订阅我的专栏 即可系统学习
 扫码立即订阅
扫我海报购买后
公众号后台联系我
给你返现
“阅读原文”我们一起学习
继续阅读
阅读原文