Hadoop 的产生:
随着各行业进入大数据时代,大规模的数据收集,大量的数据生产速度和数据结构的多样性,使得大数据生态快速发展,用于处理和计算大规模的数据。
大数据的特点:
Volume 大量
Velocity 高速
Variety 多样
Value 低价值密度
Veracity 真实性
使用一台机器无法处理的数据;
Hadoop起源于Nutch(由java语言编写的搜索引擎),Nutch设计为一个大型全网搜索引擎,包括网页抓取、索引、查询等的功能。但是随着网页抓取的数量增加,遇到一个严重的问题,如何处理十亿网页的存储和索引问题。
Google为解决大数据计算,于2003-2004年发布三片论文,随后以Google的论文为思想产生了的Hadoop生态:
GFS --> HDFS
Map-Reduce --> MR
BigTable --> Hbase
Nutch的开发人员根据Google的论文思想开源实现了HDFS和MapReduce,并独立为Hadoop项目,与2008年成为Apache的顶级项目。
Hadoop及Hadoop生态,为了解决大量数据的存储和计算
hadoop的概念:
翻译翻译官方文档:https://hadoop.apache.org
Hadoop是为了解决大量数据的存储和计算而设计的,由单节点的机器扩展到多节点,甚至千台的机器,使得这些计算机都能进行本地的存储和计算。Hadoop不依靠硬件来确保这些机器的正常运行,Hadoop通过检测和处理这些机器来保证整个存储和计算的可用性。所以Hadoop具备易于在廉价的机器上扩展,且保持存储和计算的完整性的特点。
Hadoop目前已经不只是单个组件Hadoop(HDFS、MapReduce、yarn、等)的称呼了,Hadoop也是对整个Hadoop生态的称呼。Hadoop生态包含了更多的组件,例如:Hbase、Hive、Pig、Spark、Zookeeper等等。这些组件都是致力于分布式的存储和计算。
Hadoop的组成:
Hadoop主要由4部分组成:
Common:Hadoop基础功能组件
HDFS:Hadoop Distributed File System 分布式文件系统
YARN:Yet Another Resources Negotiator 运算资源调度系统
MapReduce:Map 和 Reduce 分布式运算框架
在Hadoop2.0时,将资源调度从MapReduce抽离出来,变为 YARN;之前的1.*版本中的资源调度是集成在MapReduce中的。
Hadoop目前有三大发行版本
Apache:原始版本,便于入门学习
Cloudera:CDH,Cloudera Manager。兼容性,安全性,稳定性强
HortonWorks:HDP,(HortonWorks Data Platform)可以使用Ambari进行系统的一键安装和监控。
Hadoop的发展:
2003~2004年,Google发布的三大论文为Hadoop提供了思想;Nutch的创始人Doug Cutting实现了DFS和MapReduce;
2005年,Hadoop作为子项目,被引入到Apache基金会,Hadoop名字来源于Doug Cutting儿子的玩具“大象”;
2008年,Hadoop成为Apache的顶级项目。迎来快速发展时期。
2011年11月,Hadoop发布1.0版本,标志Hadoop初具生产规模。
2012年5月,Hadoop发布2.0.0alpha版本,将YARN剥离出来。
2017年12月,Hadoop发布3.0版本。