Hadoop01--入门

29 阅读2分钟

一、大数据概念

1.大数据概念

大数据主要解决的是,海量数据的采集、存储、分析、计算等问题

大数据有以下特点,简称4V:

  1. Volume(大量):现如今,数据量相当庞大,达到了EB的级别,我们知道一般我们接触到的数据是KB,MB,GB,TB,EB等,可见EB量级的数据有多么庞大
  2. Velocity(高速):现在,是个信息爆炸的时代,可能一天就能产生相当庞大的数据,也就是信息高速产生
  3. Variety(多样):以前我们学习过MySQL,它是处理关系型数据库的,但是现实生活中可能有多种多样类型的数据需要存储、处理
  4. Value(价值):数据很多,提取有价值的信息也就很难,这也是大数据的一大特点

二、Hadoop概述

1.什么是Hadoop

Hadoop是一个分布式系统基础架构,用于解决海量存储和海量数据的分析计算

Hadoop生态系统最基础的三个组件:

  • HDFS:Hadoop Distributed File System,主要用于分布式存储,提供可扩展、高容错的数据存储
  • MapReduce:主要用于数据处理,可以处理分布式系统中大量的结构化和非结构化的数据,具有简单、可扩展、高容错、高速等优点
  • Yarn:Yet Another Resource Negotiator,主要用于资源管理,Yarn被称作Hadoop的操作系统,负责管理和监控工作的负载

2.各个组件的架构

(1)HDFS(NameNode,DataNode,Secondary NameNode)

image-20231125205446857

主要就是关注以下几个点:

  • NameNode:也叫做nn,相当于老板,存储文件的元数据,比如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限等),还有每个文件的块列表和块所在的DataNode等
  • DataNode:也叫做dn,在本地文件系统存储文件块数据,以及块数据校验和
  • Secondary NameNode:也叫做2nn,每隔一段时间对NameNode元数据进行备份

(2)Yarn(ResourceManager,NodeManager,ApplicationMaster,Container)

以下几个点:

  • ResourceManager:也叫作rm,是整个集群资源(内存、CPU等)的老大
  • NodeManager:也叫nm,是单个服务器资源的老大
  • ApplicationMaster:叫am,单个运行任务的老大
  • Container:容器,相当于一台独立的服务器,里面封装了任务运行时所需要的资源

image-20231126195229889

可以理解为:

  • 客户端有多个
  • 集群上可以运行多个ApplicationMaster
  • 每个NodeManager上可以有多个Container

(4)MapReduce

计算过程分为map和reduce两个阶段:

  • Map阶段并行处理输入数据
  • Reduce阶段对Map的结果进行汇总

image-20231126200241839

3.三个组件的关系

关系如下图:

Client发送请求会到ResourceManager中,然后会分配各种资源去DataNode中去查询

image-20231126201851847