Hadoop发展史和生态圈介绍

news/2024/12/23 0:12:20/

目录

一、Hdoop概述

二、Hadoop生态组件

三、大数据的技术生态体系

四、Hadoop发展历史

4.1 概述

4.2 Hadoop历史发展节点

4.2.1 2002-2004年理论阶段

4.2.2 2005-2008年Hadoop的问世与崛起

4.2.3 2009-2017年Hadoop助力大数据行业的发展

4.2.4 至今

五、Hadoop优势特点

5.1 低成本

5.2 高可靠、容错性

5.3 高扩展性

5.4 高效性


一、Hdoop概述

Hadoop是由Apache基金会所开发的分布式系统基础架构, 旨在解决海量数据存储和计算分析问题。狭义上来说,Hadoop是指Apache Hadoop开源框架,包含以下三种核心组件:

  • Hadoop HDFS(Hadoop Distributed File System):分布式文件存储系统,解决海量数据存储问题。
  • Hadoop Yarn:集群资源管理和任务调度框架,解决资源任务调度问题。
  • Hadoop MapReduce:分布式计算框架,解决海量数据计算问题。

二、Hadoop生态组件

广义上来说,Hadoop通常是指围绕Hadoop打造的大数据生态圈,部分技术栈如下图所示:

组件内容:

  • zookeeper:分布式协调组件。
  • HDFS:分布式文件系统。
  • MapReduce:分布式计算框架。
  • Hive:分布式数据仓库。
  • HBase:分布式数据库。
  • Flume:日志采集框架。
  • Sqoop:数据导入/导出工具。
  • pig:工作流引擎。
  • Mahout:机器学习算法库。
  • oozie:作业流调度工具。
  • Ambari:大数据集群管理平台。

官网地址:

[Apache Hadoop](https://hadoop.apache.org/)

三、大数据的技术生态体系

本小节主要作为技术了解内容,先总体了解下大数据技术生态体系技术分层,方便后续清楚的知道Hadoop相关技术栈技术所处的层及作用。下图是大数据技术生态每层及对应技术。

四、Hadoop发展历史

4.1 概述

Hadoop最初是由Doug Cutting和Mike Cafarella于2002年左右创建的,最早起源于Nutch,其最初的目标是构建一个 能够处理大规模数据集的分布式文件处理系统 。

后期,Doug Cutting以Google的GFS(Google File System)和MapReduce为基础,开发了Hadoop Distributed File System(HDFS)和Hadoop MapReduce。

2006年,Hadoop成为Apache软件基金会的顶级项目,开始吸引了越来越多的开发者和用户。

4.2 Hadoop历史发展节点

4.2.1 2002-2004年理论阶段

2002年10月,Doug Cutting和Mike Cafarella创建了开源网页爬虫项目Nutch。

2003年10月,Google发表Google File System论文。

2004年7月,Doug Cutting和Mike Cafarella在Nutch中实现了类似GFS的功能,即后来HDFS的前身。

2004年10月,Google发表了MapReduce论文。

4.2.2 2005-2008年Hadoop的问世与崛起

2005年2月,Mike Cafarella在Nutch中实现了MapReduce的最初版本。

2005年12月,开源搜索项目Nutch移植到新框架,使用MapReduce和HDFS在20个节点稳定运行。

2006年1月,Doug Cutting加入雅虎,Yahoo!提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。

2006年2月,Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。

2006年3月,Yahoo!建设了第一个Hadoop集群用于开发。

2006年4月,第一个Apache Hadoop发布。

2006年11月,Google发表了Bigtable论文,激起了Hbase的创建。

2007年10月,第一个Hadoop用户组会议召开,社区贡献开始急剧上升。

2007年,百度开始使用Hadoop做离线处理。

2007年,中国移动开始在“大云”研究中使用Hadoop技术。

2008年,淘宝开始投入研究基于Hadoop的系统——云梯,并将其用于处理电子商务相关数据。

2008年1月,Hadoop成为Apache顶级项目。

2008年2月,Yahoo!运行了世界上最大的Hadoop应用,宣布其搜索引擎产品部署在一个拥有1万个内核的Hadoop集群上。

2008年4月,在900个节点上运行1TB排序测试集仅需209秒,成为世界最快。

2008年8月,第一个Hadoop商业化公司Cloudera成立。

4.2.3 2009-2017年Hadoop助力大数据行业的发展

2009 年3月,Cloudera推出世界上首个Hadoop发行版——CDH(Cloudera's Distribution including Apache Hadoop)平台,完全由开放源码软件组成。

2009年6月,Cloudera的工程师Tom White编写的《Hadoop权威指南》初版出版,后被誉为Hadoop圣经。

2009年7月 ,Hadoop Core项目更名为Hadoop Common;

2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。

2009年8月,Hadoop创始人Doug Cutting加入Cloudera担任首席架构师。

2009年10月,首届Hadoop World大会在纽约召开。

2010年5月,IBM提供了基于Hadoop 的大数据分析软件——InfoSphere BigInsights,包括基础版和企业版。

2011年3月,Apache Hadoop获得Media Guardian Innovation Awards媒体卫报创新奖

2012年3月,企业必须的重要功能HDFS NameNode HA被加入Hadoop主版本。

2012年8月,另外一个重要的企业适用功能YARN成为Hadoop子项目。

2014年2月,Spark逐渐代替MapReduce成为Hadoop的缺省执行引擎,并成为Apache基金会顶级项目。

2017年12月,Hadoop 3.0.0版本发布,标志着Hadoop的持续发展和创新。

4.2.4 至今

截止到2024年初,Hadoop最新版本为3.3.6版本,整个Hadoop发行版本中经历了Haoop1.x、2.x、3.x系列版本。目前,Hadoop1.x版本已经被淘汰,Hadoop2.x版本相较于1.x版本引入了Yarn平台,Hadoop3.x版本相较于2.x版本做了优化升级,目前企业中使用主流hadoop版本为hadoop3.x版本。

此外,Hadoop目前发行版本分为开源社区版和商业版。社区版由Apache软件基金会进行维护,商业版Hadoop则是由第三方商业公司在社区版的基础上做了一些修改、整合,并经过各个服务组件的兼容性测试后发布的版本,其中一些著名的商业版包括Cloudera的CDH、Hortonworks的HDP,2018年,Cloudea收购Hortonworks公司。

ClouderaManager的CDH平台:

Ambari的HDP平台:

以下是Hadoop发展历史中的一些重要时间点,了解即可。

五、Hadoop优势特点

Hadoop具备高可靠、高容错、高扩展、高效性这些优势使其在互联网领域中已经得到广泛运用,具体如下:

5.1 低成本

Hadoop可以由多台廉价普通机器组成,支持TB和PB级别数据存储,并不需要运行在昂贵且高可靠性的硬件上。

5.2 高可靠、容错性

HDFS中数据存储有多副本支持数据高可靠性,即使一些副本出现故障也能保障数据可使用。MapReduce计算过程中任务失败,可以自动进行任务重新分配进行任务重试。此外,HDFS和Yarn都支持高可用配置,当主节点挂掉时,可以自动选主切换,保证集群可靠性。

5.3 高扩展性

Hadoop集群可以扩展到上千个节点以支持数据存储和计算,节点多支持数据量大、支持更大并行度的并行计算。

5.4 高效性

Hadoop可以并行在节点之间动态移动数据,保证各个节点数据动态平衡;基于MapReduce进行数据处理计算时,可以并行处理数据,效率极高。

今天Hadoop发展史和生态圈介绍的相关内容就分享到这里,如果帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!


http://www.ppmy.cn/news/1475763.html

相关文章

AWS ECS实现低风险的服务更新:创建新服务和流量切换

在使用Amazon ECS (Elastic Container Service)进行容器化应用部署时,我们经常需要更新服务。但直接更新现有服务可能会带来风险,尤其是在生产环境中。本文将介绍一种低风险的服务更新方法:基于原有服务创建新服务,并逐步切换流量。 方法概述 基于原有ECS服务的配置创建新的服…

【LINUX】pr_info函数开发摸索

1、打印开关可随时控制,开机如果要修改是否打印日志的话,需要修改代码重新编译内核才行,其实如果真要搞,应该有其他方法; 2、打印次数,当前代码里边写的是1000次,其实可以根据传参动态修改打印…

Selenium 元素操作 WebElement 对象

通过 find_element() 方法找到的元素对象就是 WebElement 类型。clear(): 清除文本 send_keys(value): 模拟按键输入 click(): 单击元素 submit(): 提交表单(有些不提供搜索按钮,通过键盘上的回车键完成提交,可以通过 submit 模拟) size: 获…

阿里云Linux中安装MySQL,并使用navicat连接以及报错解决

首先查询是否安装MySQL // linux 使用yum安装或者rpm安装。(就是一个安装工具类似于applStore,brew不必在意) // 区别:yum会自动安装你要安装的东西的其他依赖,rpm不会但会提示你需要安装的东西,比较麻烦,所以采用yum安…

【游戏客户端】大话slg玩法架构(三)建筑控件

【游戏客户端】大话slg玩法架构(三)建筑控件 大家好,我是Lampard家杰~~ 今天我们继续给大家分享SLG玩法的实现架构,关于SLG玩法的介绍可以参考这篇上一篇文章:【游戏客户端】制作率土之滨Like玩法 PS:和之前…

Spark核心技术架构

Apache Spark是一个开源的分布式计算系统,它提供了一个快速、通用和易于使用的集群计算环境。Spark 支持多种编程语言,如 Scala、Java 和 Python,并针对大规模数据处理进行了优化。以下是 Spark 技术架构的详细简述: 1. 核心组件…

ConfigMap-secrets-静态pod

一.ConfigMap 1.概述 ConfigMap资源,简称CM资源,它生成的键值对数据,存储在ETCD数据库中 应用场景:主要是对应用程序的配置 pod通过env变量引入ConfigMap,或者通过数据卷挂载volume的方式引入ConfigMap资源 官方解释…

部署PXE高效批量网络装机

目录 一、系统装机 1、系统装机的方式 2、系统的安装过程 3、Linux安装光盘的相关文件 二、PXE(Preboot eXecution Environment) 1、PXE概述 2、运行PXE 批量部署的优点 3、pxe实现的硬件条件 4、运行PXE的实现过程 5、PXE的实现操作 5.1、安…