Hadoop发展历史简介
简介
本篇文章主要介绍了Hadoop系统的发展历史以及商业化现状, 科普文。
如果你喜欢本博客,请点此查看本博客所有文章:http://www.cnblogs.com/xuanku/p/index.html
历史发展过程
2002~2004
当时第一轮互联网泡沫刚刚破灭, 一个对搜索引擎特别了解但是同时又失去工作的屌丝
Doug Cutting(1), 当时主要靠写点技术专栏文章赚赚稿费。同时, 他联合了另外一个RD
Mike Cafarella, 当时两人觉得以后搜索被一个大公司给一统天下是一个很可怕的事情, 这家公司掌握信息入口, 能翻手为云覆手为雨。所以决定自己搞一个开源的搜索引擎出来, 于是说干就干, 干了个项目叫
Nutch。两人吭哧吭哧干了一年之后, 终于把这个系统干到能支持1亿网页的抓取, 索引和搜索了。但是当时的网站差不多就有10亿, 网页数量是万亿这个规模。这两哥们也没多想, 就是干, 继续把网页量给干到下一个数量级。
2004~2006
结果很不巧, 在那个时候, Google公布了GFS和MapReduce两篇Paper。这两哥们一看, 完了, 这两年白干了, 人家干得那才是漂亮, 自己现在干得实在是太苦逼了, 所有工作都处于人肉运维的状态。
那咋办呢, 重构呗, 咋重构啊, 抄一个呗。于是就开始抄GFS和MapReduce, Google用的C++做, 他们用的Java做。到2004年的时候, 已经差不多能在40台左右的机器上运行了。
2006以后
Dog Cutting跟好多我们同龄人一样, 做了几年公司, 发现干也干不过google了, 好像创业没啥前途了, 那咋办呢, 就找个大公司吧。这哥们本来一开始想去IBM, 但是人家IBM要做lucene, 不用Nutch。这哥们表示不开心, 就去问Yahoo愿不愿意要Nutch, 人家Yahoo有自己的搜索引擎, 也不愿意要Nutch。不过Yahoo考虑了一下, 说虽然不要你的搜索系统, 但是你底层那几个GFS/MapReduce那些东西还是挺有用的嘛, 要不你过来弄这个?Dog Cutting也就从了, 于是把底层系统剥离出来, 把自己儿子的一个大象的玩具的名字Hadoop赋予了这个项目。但是到目前为止, Hadoop其实还不能称之为一个独立的大数据项目, 顶多只能称之为一个搜索系统的子项目, 因为他只有一个应用方, 就是搜索。
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商业化扔进去了这么多钱, 市场上还是立竿见影看到了不少效果的:
- 引起了很大的业界很大的关注。有很多公司在为hadoop开发系列上层应用, 框架以及管理软件。
- 像EMC/Intel等好多公司从预算中拨款搭建自己的hadoop集群。
- 所有在销售数据库, BI软件, 以及其他跟数据相关的软件都会跟Hadoop扯上关系。
但是现状的Hadoop商业化也会有一些隐患:
- 类似linux的90年代, 会有一万个基于其开源版本之上的不同包装的XX版本;
- 像Cloudera和Hortonworks之间已经有了很多公开的吵架, 谁对开源社区贡献得最多, 以及部分软件已经不开源了, 或者相互不配合;
参考
- Hadoop之父. http://www.programmer.com.cn/15929/
- A Brief Hadoop History. https://gigaom.com/2013/03/04/the-history-of-hadoop-from-4-nodes-to-the-future-of-data/
Hadoop发展历史简介的更多相关文章
- Update(stage3):第1节 redis组件:1 - 3、web发展历史以及redis简介
Redis课程教案 1. NoSQL数据库的发展历史简介 1.web系统的变迁历史 web1.0时代简介 基本上就是一些简单的静态页面的渲染,不会涉及到太多的复杂业务逻辑,功能简单单一,基本上服务器性 ...
- ArcGIS(ESRI)的发展历史和版本历史(简介)
作者:fenghuayoushi 来源:CSDN 原文:https://blog.csdn.net/fenghuayoushi/article/details/6677360 ESRI公司介绍 ...
- (第一篇)linux简介与发展历史以及软件的安装
1.Linux操作系统基本结构介绍: 操作系统: 英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统 ...
- Greenplum 的发展历史
一.Greenplum的发展历史 Greenplum的发展可以分为下面6个阶段: 图 1 Greenplum时间线 Postgres关系型数据库.Postgres是UC Berkeley开发的关系 ...
- 01 极简Linux操作系统发展历史
Unix操作系统的诞生 1965 年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘.显示器),连接一台电脑 ...
- Web开发技术发展历史
Web开发技术发展历史 来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- .net版本发展历史
最近装上了VS2013,发现好多新特性.新功能,公司办公还在使用VS2005.VS2008,不过用着也很顺手,在最新版Visual Studio中,微软加入了git源码管理工具,和之前的TFS大体上类 ...
- 软件项目发展历史<人月神话>这本书好
几乎是计算机软件开发的发展历史 人月神话,增加人手并不一定能提高开发速度. 原因在于,有些任务是无法分解的,存在先后顺序.无法同步进行. 增加人手,增加的是沟通成本,相互牵制.可以分解的任务就 ...
随机推荐
- Delphi中编辑word
其他(28) //启动Word try wordapplication1.connect; except messagedlg('word may not be ins ...
- 使用Qmake在树莓派上开发Opencv程序
Qt 安装 PC 端 下载安装即可 https://mirrors.ustc.edu.cn/qtproject/official_releases/qt 树莓派:Qt开发套件和opencv安装sud ...
- 各个城市优步uber注册司机官网地址汇总
uber城市 开通uber城市 开通优步城市 哪些城市开通了uber 哪些城市开通了优步 分类: uber专车资讯 作为专车模式的创立者,Uber公司很早就进入了中国区域.优步在中国市场也是胸怀大 ...
- 百度,你家云管家能靠谱点不?替你脸红!Shame on you!
此文已提交百度云问题反馈, 坐等答复. 笔者最近下载某24+G分卷压缩文件, 24+G啊, 足足要下将近7个小时.满心欢喜的下载完却尼玛发现解压出错, 有6个文件无法解压?wrong password ...
- CentOS6 root 用户 vi/vim 无法开启高亮
编辑 /etc/profile.d/vim.sh if [ -n "$BASH_VERSION" -o -n "$KSH_VERSION" -o -n &quo ...
- web.py实现jsonp
浏览器端请求 $.getJSON("/currenttime?callback=?", function (json){ $("#time").html(jso ...
- 【Spark学习】Apache Spark for 第三方Hadoop分发版
Spark版本:1.1.1 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4137979.html
- 在Heroku上部署MEAN
说明:个人博客地址为edwardesire.com,欢迎前来品尝. Heroku是国外普遍使用大受好评的PaaS,支持Nodejs,基础服务(Nodejs+MongoDB)基本都是免费的.搭建MEAN ...
- cocos2d-x图片变灰或者变亮
//根据现有CCSprite,变亮和变灰 CCSprite* FlyLeaf::graylightWithCCSprite(CCSprite* oldSprite,bool isLight) { ...
- Linux命令之env:显示当前用户的环境变量
Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令.下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的 ...