hadoop笔记

供个人学习使用

1.大数据的特点

大、多、值、快、信,即5V:

  • Volume(大量):大数据的采集、计算、存储量都非常庞大,待处理数据都是TB、PB、乃至EB级别的
  • Variety(多样性):相对于以往便于存储的 以数据库/文本为主的结构化数据,非结构化数据越来越多,包括网络日志、音频、视频、图 片、地理位置信息等,这些多类型的数据对数据的处理能力提出了更高要求。
  • Value(低价值密度):价值密度的高低与数据总量的大小成反比
  • Velocity(高速):数据的采集、计算和存储速度都很快
  • Veracity(可靠):数据精准可靠

2.hadoop主要解决得问题

  • 海量数据的存储和海量数据的分析计算问题

3.Hadoop的优势:

  • 高可靠性。Hadoop通过在多个节点上保存数据副本,确保即使某个计算节点或存储节点发生故障,数据也不会丢失。
  • 高扩展性。Hadoop能够在现有的计算机集群中轻松扩展,支持成千上万的节点,使其能够处理大规模数据。
  • 高效性。Hadoop能够在多个节点之间动态移动数据,并保持节点间的动态平衡,从而提高数据处理速度。
  • 高容错性。Hadoop能够自动重新分配失败的任务和计算节点,确保任务继续执行。
  • 低成本。Hadoop是开源的,用户可以免费下载和使用,显著降低了软件成本。
  • 广泛的适用性。Hadoop的框架是基于Java编写的,使其能够运行在多种操作系统和硬件平台上。
  • 成熟的技术生态和社区支持。Hadoop拥有一个成熟的技术生态和强大的开源社区支持,提供了丰富的工具和组件,便于用户集成和扩展。

4.Hadoop的组成

  • 在Hadoop1.x版本中,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,其耦合度较大
  • 在Hadoop2.x版本中,在此基础上增加了Yarn,此后,MapReduce只处理业务逻辑运算,Yarn只负责资源调度
  • Hadoop3.x版本相较于Hadoop2.x版本在组成上没有变化

4.1 HDFS

HDFS,全称Hadoop Distributed File System, 是Apache Hadoop项目的一个核心组件,是一个分布式文件系统,旨在存储大规模数据集并提供高可用性、容错性和高吞吐量的数据访问

HDFS主要由NameNode(nn)、DataNode(dn)和Secondary NameNode(2nn)组成

  • NameNode: 存储文件的元数据 ,如文件名,文件目录结构,文件属性 (生成时间、副本数、文件权限),以及每个文件的块列表块所在的DataNode位置信息等。
  • DataNode: 存储具体的文件,在本地文件系统存储文件块数据 ,以及块数据的校验和。
  • Secondary NameNode: 每隔一段时间对NameNode进行数据备份,在NameNode挂掉时可以辅助恢复NameNode(会丢掉一部分数据,生产过程中采用配置两个NameNode的方式代替)

4.2 MapReduce

MapReduce分为Map和Reduce两个阶段:

  • Map:并行处理输入输入的数据并将处理结果送往Reduce端相应的分区,各Mapper之间相互独立。
  • **Reduce:**对Map阶段送来的处理结果进行汇总,各Reducer之间相互独立。

4.3 Yarn

Yarn,全称Yet Another Resource Negotiator,是一种资源管理者,负责Hadoop的资源调度。主要由Resource Manager(RM)、NodeManager(NM)、ApplicationManager(AM)和Container组成。

  • ResourceManager (RM):整个集群资源的掌管者,负责协调和管理集群中的资源,包括内存、CPU和其他计算资源
  • ApplicationManager(AM) :ResourceManager的一个子组件,其主要职责是管理MapReduce所有应用程序的生命周期和资源分配。ApplicationManager负责与ResourceManager协调,以分配所需的计算和存储资源。
  • NodeManager(NM) :NodeManager是ResourceManager的下级组件,负责管理单个数据节点上的计算和存储资源。它监视节点上的资源使用情况,包括CPU、内存和磁盘空间等,以便及时向ResourceManager报告可用资源的情。
  • Container:容器,相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。

4.4 HDFS、MapReduce、Yarn之间的关系

  • HDFS作为Hadoop的底层存储层,为MapReduce和其他大数据处理框架提供了高吞吐量的数据访问。
  • MapReduce是Hadoop生态系统中的一个计算框架,它可以从HDFS中读取数据,并将处理结果写回HDFS。MapReduce依赖于HDFS来存储输入和输出数据,以及在YARN上执行任务。
  • YARN充当资源管理器和作业调度器,它协调集群上运行的各种应用程序,包括MapReduce作业。MapReduce作业的执行需要YARN来分配和管理计算资源。
相关推荐
晓数1 小时前
【硬核干货】JetBrains AI Assistant 干货笔记
人工智能·笔记·jetbrains·ai assistant
元6332 小时前
spark和hadoop之间的对比和联系
大数据·hadoop·spark
我的golang之路果然有问题2 小时前
速成GO访问sql,个人笔记
经验分享·笔记·后端·sql·golang·go·database
lwewan2 小时前
26考研——存储系统(3)
c语言·笔记·考研
搞机小能手2 小时前
六个能够白嫖学习资料的网站
笔记·学习·分类
nongcunqq3 小时前
爬虫练习 js 逆向
笔记·爬虫
汐汐咯3 小时前
终端运行java出现???
笔记
哥不是小萝莉3 小时前
Hadoop和Spark大数据挖掘与实战
hadoop·ai·spark
无敌小茶5 小时前
Linux学习笔记之环境变量
linux·笔记
lix的小鱼5 小时前
spark和Hadoop之间的对比和联系
大数据·hadoop·spark