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来分配和管理计算资源。
相关推荐
B20080116刘实2 小时前
CTF攻防世界小白刷题自学笔记13
开发语言·笔记·web安全·网络安全·php
静止了所有花开4 小时前
SpringMVC学习笔记(二)
笔记·学习
红中马喽7 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
huangkj-henan9 小时前
DA217应用笔记
笔记
Young_202202029 小时前
学习笔记——KMP
笔记·学习
秀儿还能再秀10 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
WCF向光而行10 小时前
Getting accurate time estimates from your tea(从您的团队获得准确的时间估计)
笔记·学习
Li_03040612 小时前
Java第十四天(实训学习整理资料(十三)Java网络编程)
java·网络·笔记·学习·计算机网络
啤酒泡泡_Lyla12 小时前
现代无线通信接收机架构:超外差、零中频与低中频的比较分析
笔记·信息与通信
龙中舞王12 小时前
Unity学习笔记(4):人物和基本组件
笔记·学习·unity