Hadoop是基于Java语言构建的一套分布式数据处理框架,从其历史发展角度我们就可以看出,Hadoop一诞生,就具备高贵的血统,发展顺风顺水:
2004年,Google发表论文,向全世界介绍了MapReduce
2005年初,为了支持Nutch搜索引擎项目,Nutch的开发者基于Google发布的MapReduce报告,在Nutch上开发了一个可工作的MapReduce应用
2005年中,所有主要的Nutch算法被移植到MapReduce和NDFS(NutchdistributedFileSystem)环境来运行
2006年2月,ApacheHadoop项目正式启动以支持MapReduce和HDFS的独立发展
2007年,百度开始使用Hadoop做离线处理,目前差不多80%的Hadoop集群用作日志处理
2008年,淘宝开始投入研究基于Hadoop的系统–云梯,并将其用于处理电子商务相关数据。云梯1的总容量大概为9.3PB,包含了1100台机器,每天处理约18000道作业,扫描500TB数据
2008年1月,Hadoop成为Apache顶级项目
2008年7月,Hadoop打破1TB数据排序基准测试记录。Yahoo的一个Hadoop集群用209秒完成1TB数据的排序,比上一年的纪录保持者保持的297秒快了将近90秒
……
很多人开始接触Hadoop时,都以为这是一个项目,其实Hadoop除了核心的MapReduce和HDFS之外,还包含了众多的子项目,换句话说,Hadoop已经形成了一个丰富的技术生态圈:
随着互联网的飞速发展,大量数据的存储和分析遇到瓶颈,磁盘容量的增长远远大于磁盘读取速度,1TB的磁盘,数据传输速度100MB/s,读一遍2.5H,写数据就别提了,心拔凉拔凉的(当然SSD在生产环境的实际应用,大大缓解了这一窘境)。
数据量的增长在互联网应用中体现的非常明显,好的互联网应用动辄就有上千万的用户,无论是数据的容量、压力都与日俱增。
另外在企业应用层面,很多大中型企业,信息化进行了十几年,企业内部积累了大量的非结构化数据,各种类型的文件需要存储、备份、分析、展示,苦于没有很好的办法进行数据处理。
那么如何解决这样的问题,技术牛人自然有办法,比如磁盘数据的并行读写,数据分块,分布式文件系统,冗余数据,MapReduce算法等等,最后Hadoop等类似的技术应运而生。于是我等草民有福了。
不是有那么一句话么,大数据胜于好算法,如果数据足够多,可能产生出意想之外的应用,看看现在Facebook、Twitter、微博相关的衍生应用就知道了。另外,无论算法好坏,更多的数据总能带了来更好的推荐效果,这也是显而易见。
所以,无论云计算和大数据口号喊的多么虚头八脑,但Hadoop都是一门非常务实的技术,无论你身在互联网企业还是传统软件公司,都应该学习和了解这门技术。
Hadoop的部署提供三种模式,本地模式、伪分布模式和全分布模式,建议大家采用第三种进行实践,这样对系统用法的理解更深入一些。
这就需要你至少要两台机器进行集群,比较好的方式是使用虚拟机。Hadoop原生支持Unix/Linux,你要是想在Windows上玩,还需要装模拟环境cygwin。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。