Hadoop发展史和生态圈介绍

目录

一、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、安…

零信任的架构结合模块化沙箱,实现一机两用的解决方案

零信任沙箱是深信达提出的一种数据安全解决方案,它将零信任原则与SDC沙箱技术的优势相结合。零信任原则是一种安全概念,核心思想是“永不信任,总是验证”。它要求对每一个访问请求都进行严格的身份验证和授权,无论请求来源于内部还…

在大型企业级应用中,如何优化 XML 数据的存储和检索效率,以满足高并发访问需求?

在大型企业级应用中,优化XML数据的存储和检索效率可采取以下措施: 数据库选择:选择适合XML存储和查询的数据库,如Oracle、MySQL、PostgreSQL等。这些数据库提供了专门的XML存储和查询功能,能够更高效地处理XML数据。 …

在微服务架构架构中父工程中的`<dependencyManagement>`和 `<dependencies>`的区别

在微服务架构架构中父工程中的<dependencyManagement>和 <dependencies>的区别&#xff1a; 在微服务架构中&#xff0c;通常会有一个父工程&#xff08;或称作聚合工程&#xff09;来管理一组相关的子模块&#xff08;即各个微服务&#xff09;。Maven 的 <de…

无人机图像目标检测

本仓库是人工智能课程的课程作业仓库&#xff0c;主要是完成无人机图像目标检测的任务&#xff0c;我们对visdrone数据集进行了处理&#xff0c;在yolo和ssd两种框架下进行了训练和测试&#xff0c;并编写demo用于实时的无人机图像目标检测。 requirements依赖&#xff1a; ss…

使用 OpenCV 的 inRange 函数进行颜色分割

使用 OpenCV 的 inRange 函数进行颜色分割 在图像处理领域&#xff0c;颜色分割是一个常见的任务&#xff0c;常用于识别和提取图像中的特定颜色区域。OpenCV 提供了一个非常方便的函数 inRange 来实现这一功能。在这篇博客中&#xff0c;我们将详细介绍 inRange 函数的用法&a…

实验二:图像灰度修正

目录 一、实验目的 二、实验原理 三、实验内容 四、源程序和结果 源程序(python): 结果: 五、结果分析 一、实验目的 掌握常用的图像灰度级修正方法,包括图象的线性和非线性灰度点运算和直方图均衡化法,加深对灰度直方图的理解。掌握对比度增强、直方图增强的原理,…

TCP重传、滑动窗口、流量控制、拥塞控制机制

目录 1、TCP重传机制超时重传快速重传 2、滑动窗口3、流量控制4、拥塞控制1、慢启动2、拥塞避免3、拥塞发生 1、TCP重传机制 TCP 针对数据包丢失的情况&#xff0c;会用重传机制解决。 超时重传 就是在发送数据时&#xff0c;设定一个定时器&#xff0c;当超过指定的时间还没…

观察者模式的实现

引言&#xff1a;观察者模式——程序中的“通信兵” 在现代战争中&#xff0c;通信是胜利的关键。信息力以网络、数据、算法、算力等为底层支撑&#xff0c;在现代战争中不断推动感知、决策、指控等各环节产生量变与质变。在软件架构中&#xff0c;观察者模式扮演着类似的角色…

Leetcode3202. 找出有效子序列的最大长度 II

Every day a Leetcode 题目来源&#xff1a;3202. 找出有效子序列的最大长度 II 解法1&#xff1a;动态规划 本题是选与不选的子序列问题&#xff0c;可以尝试给出这样的状态定义&#xff1a; dp[i][j]&#xff1a;以 nums[i] 结尾模 k 后值为 j 的最长子序列的长度。 那么…

Ubuntu 安装配置与调优 Docker 并支持 IPv6

今天&#xff0c;我们将在三丰云这款不错的免费云服务器上进行 Docker 部署和调优测试。三丰云的免费云服务器配置为&#xff1a;1核CPU、1G内存、10G硬盘和5M带宽。对于一个免费的服务来说&#xff0c;这样的配置已经相当给力了&#xff0c;特别适合我这种需要随时随地进行测试…

python数据可视化(6)——绘制散点图

课程学习来源&#xff1a;b站up&#xff1a;【蚂蚁学python】 【课程链接&#xff1a;【【数据可视化】Python数据图表可视化入门到实战】】 【课程资料链接&#xff1a;【链接】】 Python绘制散点图查看BMI与保险费的关系 散点图: 用两组数据构成多个坐标点&#xff0c;考察…

加密软件|让数据传输更安全

加密软件在当今数字化时代扮演着至关重要的角色&#xff0c;它们通过先进的加密算法和技术&#xff0c;确保数据在存储、传输和分享过程中的安全性&#xff0c;从而保护个人隐私和企业机密。一、加密软件的基本作用数据加密&#xff1a;加密软件通过应用复杂的加密算法&#xf…