简介

本篇文章主要介绍了Hadoop系统的发展历史以及商业化现状, 科普文。

如果你喜欢本博客,请点此查看本博客所有文章:http://www.cnblogs.com/xuanku/p/index.html

历史发展过程

  1. 2002~2004

    当时第一轮互联网泡沫刚刚破灭, 一个对搜索引擎特别了解但是同时又失去工作的屌丝Doug Cutting(1), 当时主要靠写点技术专栏文章赚赚稿费。

    同时, 他联合了另外一个RDMike Cafarella, 当时两人觉得以后搜索被一个大公司给一统天下是一个很可怕的事情, 这家公司掌握信息入口, 能翻手为云覆手为雨。

    所以决定自己搞一个开源的搜索引擎出来, 于是说干就干, 干了个项目叫Nutch。

    两人吭哧吭哧干了一年之后, 终于把这个系统干到能支持1亿网页的抓取, 索引和搜索了。但是当时的网站差不多就有10亿, 网页数量是万亿这个规模。这两哥们也没多想, 就是干, 继续把网页量给干到下一个数量级。

  2. 2004~2006

    结果很不巧, 在那个时候, Google公布了GFS和MapReduce两篇Paper。这两哥们一看, 完了, 这两年白干了, 人家干得那才是漂亮, 自己现在干得实在是太苦逼了, 所有工作都处于人肉运维的状态。

    那咋办呢, 重构呗, 咋重构啊, 抄一个呗。于是就开始抄GFS和MapReduce, Google用的C++做, 他们用的Java做。到2004年的时候, 已经差不多能在40台左右的机器上运行了。

  3. 2006以后

    Dog Cutting跟好多我们同龄人一样, 做了几年公司, 发现干也干不过google了, 好像创业没啥前途了, 那咋办呢, 就找个大公司吧。这哥们本来一开始想去IBM, 但是人家IBM要做lucene, 不用Nutch。这哥们表示不开心, 就去问Yahoo愿不愿意要Nutch, 人家Yahoo有自己的搜索引擎, 也不愿意要Nutch。不过Yahoo考虑了一下, 说虽然不要你的搜索系统, 但是你底层那几个GFS/MapReduce那些东西还是挺有用的嘛, 要不你过来弄这个? Dog Cutting也就从了, 于是把底层系统剥离出来, 把自己儿子的一个大象的玩具的名字Hadoop赋予了这个项目。

    但是到目前为止, Hadoop其实还不能称之为一个独立的大数据项目, 顶多只能称之为一个搜索系统的子项目, 因为他只有一个应用方, 就是搜索。

  4. 2006~

    当系统进入yahoo了以后, 项目逐渐发展并成熟了起来。首先是集群规模, 从最开始的几十台机器的规模发展到能支持上千个节点的机器, 中间做了很多工程性质的工作, 然后是除搜索以外的业务放, yahoo逐步将自己的广告系统的数据挖掘相关工作也迁移到了hadoop上面来, 进一步成熟化了hadoop系统。

    当有多个用户方在使用hadoop系统的时候, 又必须要增加qos调度队列等机制, 也必须要增加数据安全认证授权机制等等, 各种功能都加到hadoop上面来的时候, hadoop就算是真正成熟起来了。必须要称道的一点是, 在成熟化整个系统的过程当中, yahoo一直都将hadoop做成一个开源软件, 而不是自己的私有软件。

Hadoop 商业化

在2008年的时候, 一位Google的工程师Christophe Bisciglia负责了Google跟IBM合作的一个自然科学项目, 这哥们发现要把当时的Hadoop放到任意一个集群中去运行时一件很困难的事情, 虽然项目是开源的, 但是当时其实主要是yahoo在用, 想要将hadoop商业化推给更多团队在用, 可能想要进一步的动作将其从开源带到业界。

于是这哥们就拉了几个好基友, 一块成立了一个专门商业化hadoop的公司: Cloudera。这个公司做了很多事情, 连接了开源和业界的鸿沟, 为hadoop生态的发展做出了非常重要的贡献。为了更好的提供外围服务, cloudera基于开源的Hadoop版本提供了另外一个叫CDH的Hadoop版本。

到后来, yahoo在2011年将hadoop团队专门成立了一个子公司Hortonworks专门提供hadoop相关的服务。Baldeschwieler这哥们作为这个公司的老板。Hortonworks这个公司跟Cloudera不一样, Hortonworks不再单独提供一个版本的hadoop给用户选择, 而是完全基于和更新开源版本。但是他提供很牛B的三陪服务, 已经为很多公司, 比如微软, Teradata, Rackspace 合作搭建他们自己的开源hadoop集群, 并在业界形成了很好的口碑。

市场上有两种公司, 一种是听说过Hadoop, 也想用, 但是自己也不知道能拿Hadoop来跑什么应用的公司; 一种是特别复杂, 像把自己一整套数据管理(保证数据可用性和安全性)能管理起来, 但是又不需要组建很大一个团队来做这事儿, 期望能节约成本。

Hadoop对自己的可用性不是很有信心, 对达到很多小公司开箱既得的状态还有差距, 所以Cloudera和Hortonworks都在做更多的胶水,包装,文档的工作。

在销售过程中, Hortonworks老板的经验是, 如果一个公司说: 来来来, 让我们一起在数据里挖点宝贝出来, 那么这一定是一个非常漫长的销售过程, 因为用户自己都没想好到底数据能拿来干嘛。所以一般的销售出路是找到那种能直接为公司节约成本的方案, 毕竟现在还是有很多公司使用很昂贵的存储和分析系统, Hadoop可以为这些公司节约成本。

已经给hadoop商业化扔进去了这么多钱, 市场上还是立竿见影看到了不少效果的:

  1. 引起了很大的业界很大的关注。有很多公司在为hadoop开发系列上层应用, 框架以及管理软件。
  2. 像EMC/Intel等好多公司从预算中拨款搭建自己的hadoop集群。
  3. 所有在销售数据库, BI软件, 以及其他跟数据相关的软件都会跟Hadoop扯上关系。

但是现状的Hadoop商业化也会有一些隐患:

  1. 类似linux的90年代, 会有一万个基于其开源版本之上的不同包装的XX版本;
  2. 像Cloudera和Hortonworks之间已经有了很多公开的吵架, 谁对开源社区贡献得最多, 以及部分软件已经不开源了, 或者相互不配合;

参考

  1. Hadoop之父. http://www.programmer.com.cn/15929/
  2. A Brief Hadoop History. https://gigaom.com/2013/03/04/the-history-of-hadoop-from-4-nodes-to-the-future-of-data/

Hadoop发展历史简介的更多相关文章

  1. Update(stage3):第1节 redis组件:1 - 3、web发展历史以及redis简介

    Redis课程教案 1. NoSQL数据库的发展历史简介 1.web系统的变迁历史 web1.0时代简介 基本上就是一些简单的静态页面的渲染,不会涉及到太多的复杂业务逻辑,功能简单单一,基本上服务器性 ...

  2. ArcGIS(ESRI)的发展历史和版本历史(简介)

    作者:fenghuayoushi 来源:CSDN 原文:https://blog.csdn.net/fenghuayoushi/article/details/6677360   ESRI公司介绍   ...

  3. (第一篇)linux简介与发展历史以及软件的安装

    1.Linux操作系统基本结构介绍: 操作系统: 英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统 ...

  4. Greenplum 的发展历史

    一.Greenplum的发展历史 Greenplum的发展可以分为下面6个阶段:   图 1 Greenplum时间线 Postgres关系型数据库.Postgres是UC Berkeley开发的关系 ...

  5. 01 极简Linux操作系统发展历史

    Unix操作系统的诞生 1965 年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘.显示器),连接一台电脑 ...

  6. Web开发技术发展历史

    Web开发技术发展历史   来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...

  7. CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系

    CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...

  8. .net版本发展历史

    最近装上了VS2013,发现好多新特性.新功能,公司办公还在使用VS2005.VS2008,不过用着也很顺手,在最新版Visual Studio中,微软加入了git源码管理工具,和之前的TFS大体上类 ...

  9. 软件项目发展历史<人月神话>这本书好

    几乎是计算机软件开发的发展历史     人月神话,增加人手并不一定能提高开发速度. 原因在于,有些任务是无法分解的,存在先后顺序.无法同步进行. 增加人手,增加的是沟通成本,相互牵制.可以分解的任务就 ...

随机推荐

  1. 翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(4)

    停止ElasticSearch(Shutting down ElasticSearch) 尽管我们期望集群(或节点)终生完美运行,我们最终可能需要重启或者正确的停止它(例如,维护).有三种方式来停止E ...

  2. CABasicAnimation(CAKeyframeAnimation)keypath 取值

    - keyPath可以使用的key - #define angle2Radian(angle) ((angle)/180.0*M_PI) - transform.rotation.x 围绕x轴翻转 参 ...

  3. 《Python 学习手册4th》 第十四章 迭代器和解析

    ''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...

  4. <译>Selenium Python Bindings 3 - Navigating

    当你想要通过webdriver导航到一个链接,正常的方式点是通过调用get方法: driver.get("http://www.google.com") Interacting w ...

  5. Ubuntu 12.04中文输入法的安装

    Ubuntu 12.04中文输入法的安装   Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等.其中Scim和Ibus是输入法框架. 在Ubuntu ...

  6. 纯CSS3实现宽屏二级下拉菜单

    今天我们要来分享一款基于纯CSS3的宽屏二级下拉菜单,这款菜单的子菜单在展开的时候是很宽敞的,菜单项中可以自定义格式的内容,非常实用,也很大气.由于是用纯CSS3实现,所以这款下拉菜单不用运行Java ...

  7. 路径 (Path)–nodejs

    本模块包含一套用于处理和转换文件路径的工具集.几乎所有的方法只做字符串变换, 不会调用文件系统检查路径是否有效. 通过 require('path') 来加载此模块.以下是本模块所提供的方法: pat ...

  8. HDU4869:Turn the pokers(快速幂求逆元+组合数)

    题意: 给出n次翻转和m张牌,牌相同且一开始背面向上,输入n个数xi,表示xi张牌翻转,问最后得到的牌的情况的总数. 思路: 首先我们可以假设一开始牌背面状态为0,正面则为1,最后即是求ΣC(m,k) ...

  9. World’s Smallest h.264 Encoder

    转载 http://www.cardinalpeak.com/blog/worlds-smallest-h-264-encoder/ View from the Peak World’s Smalle ...

  10. HTML5每日一练之input新增加的六种时间类型应用

    今天介绍一下input在HTML5中新增加的时间类型的应用,与昨天的练习一样,如果在以下这几种输入框中输入的格式不正确,也是无法提交的. 注意:此种类型的input在Opera10+中效果为佳,Chr ...