当我们说大数据Hadoop,究竟在说什么?

news2025/2/21 20:25:48

前言

提到大数据,大抵逃不过两个问题,一个是海量的数据该如何存储,另外一个就是那么多数据该如何进行查询计算呢。好在这些问题前人都有了解决方案,而Hadoop就是其中的佼佼者,是目前市面上最流行的一个大数据软件,那它包括哪些内容呢?有什么特点呢?

Hadoop介绍

提到Hadoop,大家的理解是什么?

狭义上理解,Hadoop指的是Apache软件基金会的一款用java语言实现,开源的软件,允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。

广义上,Hadoop指的是围绕Hadoop打造的大数据生态圈,如下图所示, 其中Hadoop是整个生态圈的底座、地基,构建出整个大数据的生态系统。

Hadoop怎么来的?

Hadoop之父:Doug Cutting

《The Google file system》:谷歌分布式文件系统GFS

《MapReduce: Simplified Data Processing on Large Clusters》:谷歌分布式计算框架MapReduce

《Bigtable: A Distributed Storage System for Structured Data》:谷歌结构化数据存储系统

Hadoop三大核心组件

hadoop主要由3大部分组成,俗称Hadoop三剑客:

Hadoop HDFS(分布式文件存储系统)

全称分布式文件系统,本质是一个文件系统,由于数据量很大,总不能将将所有数据存储到一台"电脑"上,哪有那么大磁盘的电脑,那么是不是可以存储到多个不同的"电脑"上,也就是分布式的,把文件存储在不同的节点中,主要是为了解决海量数据存储的问题,它处在生态圈的底层与核心地位。

Hadoop MapReduce(分布式计算框架)

MapReduce作为大数据生态圈第一代分布式计算框架,主要是解决了海量数据的计算问题。

传统的计算方式一般都是将数据从各个节点上加载过来,然后统一计算。这样有个最大的弊端就是计算十分慢,只有一个节点工作。而MapReduce计算框架可以分布在各个节点上并行计算,最后进行归并。

注意,MapReduce只是一个计算框架,或者说编程模型,不是一个软件,无需部署。

Hadoop YARN(集群资源管理和任务调度平台)

YARN是分布式通用的集群资源管理系统和任务调度平台,怎么理解呢?

大数据的很多计算任务,比如MapReduce任务、或者其他的Spark任务等等,他们在计算的时候需要CPU、内存、磁盘等资源,那么多个任务进行运算的时候需要有个管理者去给他们进行资源分配、调度等,这个管理员就是YARN。

Hadoop优点

Hadoop为什么这么流行,这和它的众多优点分不开。

  • 扩容能力

Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可方便灵活的方式扩展到数以千计的节点。

  • 成本低

Hadoop集群允许通过部署普通廉价的机器组成集群来处理大数据,以至于成本很低。看重的是集群整体能力。

  • 效率高

通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。

  • 可靠性

能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。

  • 开源

由于Hadoop开源,所以整个社区活跃度很高,很多企业都是基于Hadoop构建他们的大数据平台。

Hadoop架构变迁

Hadoop也一直在迭代升级,如今已经到了3.0时代了,那么每个大版本有什么差别呢?

1.Hadoop 1.0时代

Hadoop1.0时代只有HDFS(分布式文件存储)和MapReduce(资源管理和分布式数据处理)两部分。

2.Hadoop 2.0时代

Hadoop2.0时代引入了YARN作为统一的集群资源管理和任务调度平台,它不仅可以提交自己的任务,还可以提交其他的一些任务,是一个很大的变革,也是保证Hadoop的统治地位的一大原因。

3.Hadoop 3.0时代

Hadoop 3.0架构组件和Hadoop 2.0类似, 但是3.0着重于性能优化。

Hadoop初体验

好了,上面基本讲清楚Hadoop的基本内容,那Hadoop究竟长啥样呢?至于安装这边就不介绍了。

Hadoop分布式文件系统

我们可以在web上看到hadoop的文件系统,其实和我们的目录没啥差别。

YARN集群资源管理和任务调度平台

我们也可以在浏览器输入指定的地址看到之前都提交过上面样的计算任务。

至于MapReduce是看不到的,它只是一个计算框架,提交到这个Yarn上。

总结

本文讲解了大数据开发中最流行的软件Hadoop, 它主要分为3部分,管理文件存储的hdfs, 统一管理资源和任务的调度平台Yarn,以及提供了一种计算引擎MapReduce, 基于这三个"磐石",可以构建出整个大数据生态。

如果本文对你有帮助的话,请留下一个赞吧
更多技术干活欢迎关注公众号——JAVA旭阳

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70731.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【精品】【含数据+代码+论文链接】交通流预测代码集合

前言 交通流预测代码集合 一、T-GCN 一种用于流量预测的时间图卷积网络 准确、实时的交通预测在智能交通系统中起着重要作用,对城市交通规划、交通管理和交通控制具有重要意义。然而,交通预测一直被认为是一个开放的科学问题,受限于城市…

Python完成期末大作业:简易计算器【案例分享】

嗨害大家好鸭!我是小熊猫~ 好像好久都没给大家更新啦! 这次来给大家做一个我弟刚刚做完的期末考试大作业 做一个简易计算器 要求: 1.要有加减乘除四个方法的编写2.提交的代码悟编译错误3.代码需要有基础的健壮性判断 源码、资料电子书点击…

汉明码(海明码)解析

文章目录前言启发汉明码介绍怎么实现汉明码?怎么实现更高模块的汉明码?为什么校验位一定是2的n次方?用更简洁的方式理解汉明码前言 相信使用过光盘的读者都会有这样一种经历,如果不小心刮花了盘面,大部分情况下,把它放进DVD机器却仍然可以播放视频,这是为什么呢? 因为光盘…

Tomcat打破双亲委派机制实现各应用程序的类库相互隔离原理与实现demo

1、实现原理 以Tomcat类加载为例,Tomcat 如果使用默认的双亲委派类加载机制行不行? 我们思考一下:Tomcat是个web容器, 那么它要解决什么问题: 1. 一个web容器可能需要部署两个应用程序,不同的应用程序可能会…

C++对const引用的特殊处理、为什么函数形参的引用建议加上const?只是为了防止值被修改吗?

前言:我们知道普通变量、指针、函数形参,加上const修饰表示不可改变,但是引用前面加上const就有特别之处了 目录 const日常使用 const引用的特别处理 const引用创建临时变量规则 引用形参声明为const的三个理由 const日常使用 我们知道如…

resnet(2)------看看卷积

文章目录1 . 人脑是怎么认识到物体的2. 卷积3. 卷积核1 . 人脑是怎么认识到物体的 在谈卷积之前,我们先来了解一下人是怎么认识物体的。 人脑是个非常复杂的结构,是由无数个神经元连接起来,每个神经元都有自己负责记忆的东西。当人眼看到物体…

关于自增约束auto_increment需要注意的地方,mysql8版本的报错

目录一,自增约束auto_increment需要注意的地方附:就算插入数据失败,也进行自增:二,自增约束auto_increment在MySQL8版本的报错:一,自增约束auto_increment需要注意的地方 1 创建数据库表class&…

Logistic回归

通常,Logistic回归用于二分类问题,例如预测明天是否会下雨。当然它也可以用于多分类问题. Logistic回归是分类方法,它利用的是Sigmoid函数阈值在[0,1]这个特性。Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回…

啊?我这手速也太差了吧?——C++Easyx“挑战六秒”小游戏

🐑本文作者:C橙羊🐑 🎮🔊本文代码适合编译环境:DEV-C💻 ✨🧨温馨提示:此文转载于codebus🎉🎠 最近橙羊在Easyx官网的codebus里随便逛逛的时候&am…

SpringMVC从入门到精通(一)

文章目录1. SpringMVC基本概念1.1 三层架构1.2 MVC架构1.3 什么是SpringMVC1.4 SpringMVC的优势2. SpringMVC 的入门2.1 入门程序2.2 SpringMVC执行原理刨析2.3 SpringMVC的核心执行流程2.4 SpringMVC的组件3. RequestMapping注解4.请求参数绑定4.1 参数绑定4.2 请求参数乱码问…

磨金石摄影技能干货分享|优秀纪实摄影作品欣赏—北京记事

1、蜂窝煤 三名青年男子踏着三轮车拉着满满一车蜂窝煤。脸上流露出清澈的笑容。这是九十年代的北京,背后的天安门格外的显眼。那时候处于改革开放的初期,虽然还不是很富裕,但大家脸上洋溢着幸福与希望的笑容。 蜂窝煤是冬天必备,九…

【强化学习论文合集】十一.2018国际表征学习大会论文(ICLR2018)

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

历届青少年蓝桥杯python编程选拔赛 STEMA评测比赛真题解析【持续更新 已更新至34题】

蓝桥杯python选拔赛真题 历届青少年蓝桥杯python编程选拔赛真题解析 选拔赛 真题34-回文数升级 【蓝桥杯选拔赛真题34】python回文数升级 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析_小兔子编程的博客-CSDN博客python回文数升级2020年青少年组python蓝桥杯选拔赛真题一、…

剑指Offer39——数组中出现次数超过一半的数字

摘要 剑指Offer39 数组中出现次数超过一半的数字 本题常见的三种解法: 哈希表统计法: 遍历数组 nums ,用 HashMap 统计各数字的数量,即可找出 众数 。此方法时间和空间复杂度均为 O(N) 。数组排序法: 将数组 nums 排…

Python学习-8.1.1 标准库(time库的基础与实例)

2.1 time库 time库是Python提供的处理时间标准库。time库提供系统级精确计时器的计时功能,可以用来分析程序性能,也可以让程序暂停运行时间。 2.1.1 时间处理函数 time.time()函数:获取当前时间戳。 代表着如今的时间与1970年1月1日0分0秒…

18.10 字节码指令集与解析举例 - 同步控制指令

同步控制指令 组成 java虚拟机支持两种同步结构:方法级的同步和方法内部一段指令序列的同步,这两种同步都是使用monitor来支持的。 方法级的同步 方法级的同步:是隐式的,即无须通过字节码指令来控制,它实现在方法调…

Java+SSM网上书城全套含微信支付电商购物(含源码+论文+答辩PPT等)

项目功能简介: 本项目含代码详细讲解视频,手把手带同学们敲代码从0到1完成项目 该项目采用技术Springmvc、Spring、MyBatis、Tomcat服务器、MySQL数据库 项目含有源码、配套开发软件、软件安装教程、项目发布教程以及代码讲解教程 项目功能介绍: 系统管理…

HTML做一个简单的页面(纯html代码)地球专题学习网站

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

STM32F4 | 新建工程模板——寄存器版本 | HAL库入门 | 新建工程模板——库函数版本

文章目录一、新建工程模板——寄存器版本二、HAL入门1.固件库和寄存器的区别2.STM32CubeF43.HAL库包介绍三、新建HAL库工程模板一、新建工程模板——寄存器版本 开发环境:MDK5软件包:STM32CubeF4包 新建工程模板的一般步骤为: 新建工程目录&a…

【UE5】多用户协同编辑

UE5新出了一个多用户协同功能所以想搭一个来玩玩。 Epic已经将流程极度的简化了,在B站虚幻官方也放出了教程视频,[官方文档](多用户编辑入门 | 虚幻引擎文档 (unrealengine.com))也有教程。 这里做一下简要记录。 1.启用插件 首先打开Multi-User Edi…