从认识Hadoop开始!
Hadoop起源:
Hadoop起源于Apache Nutch项目,始于2002年,是Apache Lucene的子项目之一 [2] 。2004年,Google在“操作系统设计与实现”(Operating System Design and Implementation,OSDI)会议上公开发表了题为MapReduce:Simplified Data Processing on Large Clusters(Mapreduce:简化大规模集群上的数据处理)的论文之后,受到启发的Doug Cutting等人开始尝试实现MapReduce计算框架,并将它与NDFS(Nutch Distributed File System)结合,用以支持Nutch引擎的主要算法 [2] 。由于NDFS和MapReduce在Nutch引擎中有着良好的应用,所以它们于2006年2月被分离出来,成为一套完整而独立的软件,并被命名为Hadoop。到了2008年年初,hadoop已成为Apache的顶级项目,包含众多子项目,被应用到包括Yahoo在内的很多互联网公司。
一,Google的三篇论文:
2003年Google发布Google File System论文。(可扩展的分布式文件系统)==》HDFS(Hadoop Distributed File System)
2004年公布的 MapReduce论文。(分布式并行计算的一套编程模型)==》MapReduce
2006年Google发布Bigtable论文。(分布式的结构化数据存储系统)==》HBase
二,优点:
1,高可靠性:hadoop有主从节点,namenode和secondary namenode 能够在主节点故障后迅速切换的从节点;
2,高扩展性:hadoop可以扩展到数以千计的集群能够随时增加节点和减少节点调整硬件资源;
3,高效性:能够在节点间快速的动态的迁移数据,能够对大数据量通过多台机器进行并行计算;
4,高容错性:hadoop能够保存多个副本,并且能够自动分配,将数据分散到不同机架和机器上,如果硬盘坏掉了,调换后能够进行对数据的从新分配;
5,低成本:hadoop是开源的,项目软件成本低,并且能够整合各种低廉的小型机进行并行计算,以低的投入获得搞高的收益;
三,架构:
四,意义:
个人认为,Hadoop的发展对大数据量处理有着深远的意义,主要是Hadoop能够进行离线和实时的集群并行数据处理,并且有着高可用性;如果基于传统数据库和文件进行数据处理,不仅计算机性能上存在巨大瓶颈而且对文件的并行上也是个难题,Hadoop巧妙的使用集群并行通过MapReduce模型对数据分组分发等数据的计算,对比传统上的数据存储形式,无疑Hadoop是质的提升;另一个方面Hadoop对数据的存储有着搞容错性,每个数据块有三个副本,并且能够基于HDFS之上有各种查询引擎,比如Hive,HBase,Impala,Presto等等,包括一些流处理框架Strom,Spark,Flink等在当前互联网行业业务上发挥着举足轻重的作用。
五,作者Doug Cutting:
Doug Cutting是斯坦福大学的毕业生,大学时期因为学费压力投身于IT行业,做搜索引擎出身,其中Apache顶级项目Hadoop,Lucene,Nutch都是出自该大牛之手,现为Apache基金会主席。