猿创征文|Hadoop大数据技术

Hadoop是应对大数据处理的主流选择,其生态圈包括HDFS、YARN和MapReduce等组件。HDFS提供了高容错性和高吞吐量的数据存储,适合大规模数据集;YARN作为资源管理器,支持多种分布式计算模式;MapReduce是简化并行计算的编程模型,方便处理大规模数据集。Hive作为基于Hadoop的数据仓库工具,提供了SQL-like查询功能,适合数据统计分析。此外,文章还介绍了Hadoop的运行模式、优缺点及HDFS的基本组成。
摘要由CSDN通过智能技术生成

昨夜西风凋碧树。独上高楼,望尽天涯路。

Hadoop背景

数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来——麦肯锡
在这里插入图片描述

大数据(Big Data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据并不等同于海量数据,基本特征如下:

  • Volume(数据体量大):存储量大、增量大
  • Velocity(处理速度快):高速数据、高速处理
  • Variety(数据类型多):来源多、类型多
  • Value(价值密度低)
  • Veracity(数据准确性)

当今,互联网、云计算、移动与物联网发展迅猛,移动设备、RFID、无线传感器每分每秒都在产生数据,数以亿计用户的互联网服务时时刻刻在产生巨量的交互。而传统方案集中式存储与计算,同时需要考虑设备性能、成本等问题,难以满足要求;因此架构基于大规模分布式计算(MPP)的 GFS/HDFS 分布式文件系统、各种 NoSQL分布式 等新方案应运而生。另外,在大数据处理上, Hadoop 对于大部分的企业来说,基于 Hadoop 已经能够满足绝大部分的数据需求,因此才会成为现在的主流选择。
在这里插入图片描述

Hadoop生态圈

Hadoop生态圈:由 Apache基金会 所开发的分布式系统基础框架,用于分布式大数据处理的开源框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。

Hadoop生态圈:

在这里插入图片描述

Hadoop生态圈组件说明:

在这里插入图片描述

Hadoop典型应用架构:

在这里插入图片描述

Hadoop模式

  • 单机模式:Hadoop默认模式,在单机上按默认配置以非分布式模式运行的一个独立Java进程,没有分布式文件系统HDFS,直接在本地操作的文件系统读写,一般仅用于本地MapReduce程序的调试。
  • 伪分布式模式:单机上模拟一个分布式的环境,具备Hadoop的主要功能,常用于调试程序。
  • 完全分布式模式:也叫集群模式,Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的分布式环境,是用于实际的生产环境。

HDFS

在这里插入图片描述

概述

HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),是 Hadoop 项目的核心子项目,是分布式计算中数据存储管理的基础。支持海量数据的存储,成百上千的计算机组成存储集群,HDFS 可以运行在低成本的硬件之上,具有的高容错、高可靠性、高可扩展性、高吞吐率等特征,非常适合大规模数据集上的应用。

优点

  • 高容错性,以数据复制多份并存储在集群的不同节点来实现数据容错。
  • 高扩展性,Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
  • 高吞吐率,延时较低,可存储非常大的文件。
  • 低成本,可构建在廉价机器上。
  • 采用流式的数据访问方式,即一次写入,多次读取,保证数据一致性。
  • 适合批处理
  • 适合大数据处理

缺点

  • 不适合低延迟数据访问:Hadoop优化了高数据吞吐量,牺牲了获取数据的延迟,从而Hadoop不适合低延迟数据访问,而HBase更适合低延迟访问需求。
  • 不适合大量的小文件存储:NameNode将文件系统的元数据存储在内存中,因此该文件系统所能存储的文件总数受限于NameNode的内存容量。
  • 不适合并发写入、文件随机修改

基本组成

HDFS主要由主节点(NameNode)、辅助名称节点(Secondary NameNode)、数据节点(DataNode)组成。

NameNode

NameNode的职责主要是:管理维护 HDFS(即管理DataNode上文件Block的均衡,维持副本数量);接收客户端的请求:上传、下载、创建目录等;维护 edits 与 fsimage 两个重要的文件。

其中:
edits 文件:记录操作日志,元数据的每一次变更操作都会被记录到edits中。
fsimage 文件:HDFS的元信息,NameNode节点的元数据运行在内存中,为防止宕机数据丢失,每隔一段时间会将元数据持久化到磁盘中。

Secondary NameNode

Secondary NameNode主要职责是: 定期地创建命名空间的检查点(CheckPoint)操作——把edits中最新的状态信息合并到 fsimage 文件中,防止 edits 过大;也可以做冷备(即两个服务器,一个运行,一个不运行做备份),对一定范围内数据块做快照性备份。

DataNode

DataNode的主要职责是:存储数据块;负责客户端对数据块的 io 请求;DataNode 定时和 NameNode 进行心跳通信,接受 NameNode 的指令。

YARN

YARN (Yet Another Resource Negotiator,另一种资源协调者),一种新的 Hadoop 资源管理器。它是一个通用资源管理系统,最初是为了改善MapReduce的实现,但也是一种资源调度框架,具有通用性,可为上层应用提供统一的资源管理和调度,可以支持其他的分布式计算模式(如Spark)。它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

  • ResourceManager(资源管理器):负责整个系统的资源分配和管理,是一个全局的资源管理器。它主要由两个组件构成:调度器和应用程序管理器。
    • 调度器(Scheduler):根据资源情况为应用程序分配封装在 Container 中的资源。
    • 应用程序管理器(Application Manager):负责管理整个系统中所有应用程序。
  • NodeManager(节点管理器):每个节点上的资源和任务管理器。它会定时向 ResourceManager 汇报本节点上的资源使用情况和各个 Container 的运行状态;并接收并处理来自 ApplicationManager 的 Container 启动/停止等请求。
  • Container(容器):YARN中的资源抽象,它封装了某个节点上的多维度资源。另外,YARN会为每个任务分配一个 Container 。
  • ApplicationMaster (主应用):用户提交的每一个应用程序均包含一个 ApplicationMaster 。它是一个详细的框架库,它结合从 ResourceManager 获得的资源和 NodeManager 协同工作来运行和监控任务。主要功能包括:
    • 与 ResourceManager 调度器协商以获取抽象资源(Container);
    • 负责应用的监控,跟踪应用执行状态,重启失败任务等 ;
    • 并且与 NodeManager 协同工作完成Task的执行和监控 。

在这里插入图片描述

YARN中应用(Application)运行机制(流程)

(1)Client 向 ResourceManager 提交 YARN Application ;
(2) ResourceManager 启动 Container ;
(3) 在 NodeManager 的协助下启动 Container,首次启动,Container 里面包含 Application Master ;
(4) Application Master 计算资源是否足够,如果够,则自己处理 ;如果不够,Application Master 向 ResourceManager 申请资源 ;
(6)Application Master 获取到资源后,开始启动 Container ;
(7)在NodeManager的协助下,启动 Container,Application 运行 。

YARN中任务进度监控

(1)任务运行时,向自身的 ApplicationMaster 报告进度和状态 ;
(2)ApplicationMaster 形成一个作业的汇聚视图 ;

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
Hadoop大数据技术是一种开源的分布式计算框架,它能够处理大规模数据集并提供高性能、可伸缩和可靠性的数据处理能力。 Hadoop的核心组件包括Hadoop分布式文件系统(HDFS)和Hadoop分布式计算框架(MapReduce)。HDFS是一个分布式文件系统,可以将大数据集存储在多台计算机上,并提供高容错性和高可用性。MapReduce是一种分布式计算模型,可以将大规模数据集分割成小块,分发给集群中的多个计算节点进行并行处理,最后将结果合并返回。 除了核心组件之外,Hadoop还提供了一些其他工具和组件,如YARN(资源管理系统)、HBase(分布式数据库)、Hive(数据仓库和查询语言)、Pig(数据分析工具)等,这些工具和组件可以与Hadoop一起使用,提供更多丰富的功能和更灵活的数据处理方式。 Hadoop大数据技术的优势主要体现在以下几个方面: 1. 可扩展性:Hadoop能够通过增加计算节点来处理更大规模的数据集,从而实现高性能的数据处理能力。 2. 容错性:Hadoop将数据复制到不同的计算节点上,即使某个节点出现故障,数据依然可以恢复和访问。 3. 成本效益:Hadoop使用廉价的硬件来构建集群,相比传统的大型服务器,成本更低。 4. 处理速度快:由于使用分布式计算模型,Hadoop可以在短时间内处理大规模数据集,提供高速的数据处理能力。 5. 灵活性:Hadoop提供了各种工具和组件,使得开发人员可以根据自己的需求选择最合适的方式来处理数据。 总的来说,Hadoop大数据技术是一个非常强大的数据处理工具,可以帮助企业处理和分析大规模的数据,从而提供更准确、更全面的数据分析和决策支持。
评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊Q老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值