一、Hadoop是什么
为什么学习Hadoop?
近10年来,大数据技术体系一词一直和Hadoop是划上等号的,提起大数据技术基本就是在提及Hadoop。
随着近些年的发展,越来越多的新技术框架的出现,给大数据技术体系带来了丰富的生态,但是拥有元老地位的Hadoop依旧非常重要。
为什么学习Hadoop有如下几个至关重要的原因:
- Hadoop是最早的一批大数据技术框架,在市面上拥有极高的占有率和庞大的用户群体。
- Hadoop在大数据体系内,技术难度相对较低,非常适合作为大数据学习的入门技术栈。
所以,学习Hadoop不仅仅因为其适合入门,同时也可以为大数据学习打下良好的基础。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力,解决海量数据的存储及海量数据的分析计算问题。
广义上的Hadoop是指Hadoop的整个技术生态圈;狭义上的Hadoop指的是其核心三大组件,包括HDFS、YARN及MapReduce.
二、Hadoop的发展史
Hadoop起源于Lucene框架,后其创始人为解决对于海量数据存储困难、检索速度慢的问题,借鉴了Google的大数据神级三大思想,创建了Nutch,后被分离出来,纳入Apache的项目Hadoop中。因此说Google的大数据三大思想是Hadoop的思想之源也不为过。这三大思想分别对应三篇论文:
The Google File System (对应HDFS)
MapReduce: Simplified Data Processing on Large Clusters (对应MapReduce)
Bigtable: A Distributed Storage System for Structured Data (对应HBase)
早在2002年的时候,Doug和Mike设计一个搜索引擎Nutch,爬取了全网10亿个网页的数据,爬取完成之后,在设计搜索引擎的过程中,遇到了存储的问题 在2003年的时候,Google发表了一篇论文<The Google File System>(GFS),阐述了分布式存储的思想和原理,但是并没有对外公开这个框架 在2004年的时候,Doug和Mike根绝GFS实现了Nutch中的存储系统 - NDFS(Nutch Distributed File System - Nutch分布式文件系统) 在2004年的时候,Google发表了一篇论文<The Google MapReduce>,阐述了分布式计算的思想和原理,但是同样没有对外公开使用这个框架 在2005年的时候,Doug根据这篇论文实现了Nutch中的MapReduce 在Nutch0.8的时候,Doug发现NDFS和MapReduce不只可以用于搜索引擎,也可以用于其他的分布式处理,所以就把NDFS和MapReduce以及其他的一些需要的基本以来分离出来,组成了一个新的框架Hadoop,同时NDFS改名为HDFS(Hadoop Distributed File System),至此,Hadoop正式面世 在2007年11月的时候,Doug加入了Yahoo!,在Yahoo!工作期间,深度开发了Hadoop,后来还根据网友的建议,实现了HBase、Pig等框架 后来Yaoo!将Hadoop、HBase、Pig等框架贡献给了Apache
三、Hadoop发行版本
Hadoop目前发展得最好的有三大发行版本:Apache、Cloudera(CDH)、Hortonworks(HDP)。他们都有各自的特点:
- Apache是最原始、最基础的版本,Hadoop项目也是起源于Apache,对于入门学习最好,因此也使得其生态系统开源社区最为活跃。但由于其生态里的各组件版本较为混乱,因此会产生较多依赖和冲突。
- Cloudera最早将Hadoop商用化,比Apache Hadoop在兼容性、安全性、稳定性上有所增强,在大型互联网企业中用得较多。但其安装集群的框架不是开源的,商用服务需要按节点收费。
- Hortonworks开发了很多增强特性并提交至核心主干,使得Apache Hadoop能够在Microsoft Windows平台上本地平稳运行;另外其文档做得较好。但其发展起步最晚,普及度不高,安装和升级较为费劲,其服务也是按节点收费。
- 版本演变
四、Hadoop的优势
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:能在廉价机器组成的集群间分配任务数据,可以方便地扩展数以千计的节点。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,可以加快任务的处理速度。
- 高容错性:能够自动将失败的任务重新分配。
五、Hadoop1.x、2.、3.x
Hadoop1.X:包含了Common、HDFS和MapReduce模块。现在市面上已经停止使用
Hadoop2.X:包含了Common、HDFS、MapReduce以及YARN模块。从Hadoop2.7版本开始,还包含了Ozone模块。Hadoop2.X和Hadoop1.X全版本不兼容
Hadoop3.X:包含了Common、HDFS、MapReduce、YARN和Ozone模块。Hadoop3.X和Hadoop2.X部分版本兼容
六、web访问端口
rocessHadoop2.XHadoop3.XNameNode500709870SecondaryNameNode500909868DataNode500759864ResourceManager80888088NodeManagerXX
版权归原作者 Allen019 所有, 如有侵权,请联系我们删除。