Hadoop基础介绍

news/2024/5/20 4:29:19 标签: hadoop, 大数据, hdfs

Hadoop基础介绍

  • 一、总体介绍
  • 二、HDFS架构
  • 三、MapReduce结构
  • 四、YARN架构

一、总体介绍

1、定义:
是一个开源的、可靠的、可扩展的分布式计算框架。

2、用途:
(1)数据仓库
(2)PB级别数据的存储与处理。
在这里插入图片描述

3、核心组件
(1)HDFS:解决分布式存储,包括数据切分和多副本两部分。
(2)Map Reduce:解决分布式计算,Map:分,Reduce:合。既是分布式框架,又是编程模型。
(3)YARN:通用资源管理系统,实现资源管理、调度。

二、HDFS架构

1、结构:
Master-slave结构,NameNode带DataNode。

2、NameNode:
负责客户端请求的相应;负责元数据(数据的属性描述信息)的管理;监控DataNode健康状况。使用zookeeper实现高可用。

3、DataNode:
存储数据存储;要定期发送信息,汇报自身健康状况。

4、client:
负责数据拆分,默认为128MB,冗余3份。

5、优缺点:
优点:数据冗余;适合大文件存储;处理流式数据;可在廉价机器上构建。
缺点:无法实时运算;不适合小文件存储。

6、HDFS的高可用:
数据存储故障容错、磁盘故障容错、DataNode故障容错、NameNode故障容错。

三、MapReduce结构

1、优缺点:
优点:海量数据的离线处理;易开发。
缺点:无法进行实时的流式计算,比较慢。

2、结构:
分为Map和Reduce两个阶段,通过Hadoop streaming编程,编程时需要分别实现mapper和reducer脚本,可以通过mrjob包编辑python脚本实现MapReduce操作。

3、流程:
准备MapReduce的输入数据;准备Mapper数据,实现map接口,进行Map操作,将数据下发到节点;Shuffle;Reduce处理,实现reduce接口,汇总map阶段的结果;结果输出。

4、MapReduce慢的原因:
数据会频繁的在磁盘和内存中进行IO操作。

在这里插入图片描述
MapReduce的执行流程

四、YARN架构

1、作用:
资源管理工具,协调多个框架共同访问HDFS集群资源。

2、架构:
(1)ResourceManager:RM资源管理器,整个集群同一时间提供服务的RM只有一个。负责集群资源的统一管理和调度;处理客户端请求,submit和kill;监控NM;响应AM请求。
(2)NodeManager:NM节点管理器,整个集群中有多个,负责本身节点资源的管理;定时向RM汇报本节点资源使用情况;接收并处理RM的命令,启动Container运行task ;处理AM命令。
(3)ApplicationMaster:AM,每个应用程序对应一个MR、Spark,负责应用程序的管理;向RM申请资源;与NM通信,分发task,启动/停止task,task运行在container中,AM也运行在container中。
(4)Container:容器,是一个任务运行环境的抽象,封装CPU、内存等资源。
(5)Client:提交、查询、杀死task。

在这里插入图片描述
YARN管理调度示意

3、步骤:
(1)Client提交作业请求。
(2)ResourceManager进程和NodeManager进程通信,根据集群资源,为用户程序分配第一个Container(容器),并将 ApplicationMaster分发到这个容器上面。
(3)在启动的Container中创建ApplicationMaster。
(4)ApplicationMaster启动后向ResourceManager注册进程,申请资源。
(5)ApplicationMaster申请到资源后,向对应的NodeManager申请启动Container,将要执行的程序分发到NodeManager上。
(6)Container启动后,执行对应的任务。
(7)Tast执行完毕之后,向ApplicationMaster返回结果。
(8)ApplicationMaster向ResourceManager汇报任务结束,请求kill。


http://www.niftyadmin.cn/n/193563.html

相关文章

Cesium实践(2)—— 加载地形与影像

文章目录前言地形数据Cesium地形服务自定义高程数据影像数据加载影像数据ImageryProvider 支持的地图服务总结前言 地形数据用来表示真实的地形起伏;地图数据指的则是真实的影像服务, 本文实践在Cesium中加载地形与影像数据。 地形数据 Cesium地形服务…

redis哨兵模式sentinel

目录 1、redis哨兵模式是什么 2、案例 2.1、在自定义myredis目录下创建sentinel.conf文件(必须使用sentinel.conf文件名称) 2.2、启动哨兵 2.3、master宕机 3、选举条件 1、redis哨兵模式是什么 反客为主的自动版,能够后台监控主机是否故障…

airflow源码分析-任务调度器实现分析

Airflow源码分析-任务调度器实现分析 概述 本文介绍Airflow执行器的总体实现流程。通过函数调用的方式说明了Airflow scheduler的实现原理,对整个调度过程的源码进行了分析。 通过本文,可以基本把握住Airflow的调度器的运行原理主线。 启动调度器 可…

大数据领域的发展及其对现实世界的价值

大数据已经成为全球各行业领域不可或缺的一部分,并且其应用不断涌现。尽管很多人最初对“大数据”这一术语表示怀疑和不信任,但大数据技术已经确立了稳定的发展方向。根据调研机构的预测,到2027年,全球大数据市场规模将达到1090亿…

HashMap,HashTable和ConcurrentHashMap之间有什么区别?

前言 在之前HashMap的学习中,我们可以知道HashMap是线程不安全的数据结构,它存储的一般是数据的键值对(Key-Value模型),其中Key允许为null,它底层是数组链表的实现,当单个链表的数据元素过多时,会转变为红黑树,在多线程环境下,对某个HashMap对象进行操作,是无法保证线程安全的,…

linux:iptables (4) 命令行操练(二)

目录 1.允许指定的tcp端口连接 2.对IP地址相同流量分组,不同端口进行控制 3.禁止或启用本地回环地址 4.设置黑白名单,阻断全部端口并放开icmp的请求和回应 5.匹配字符串阻断 1.允许指定的tcp端口连接 iptables -A INPUT -s 192.168.1.0/24 -p tcp --…

【从零开始学习 UVM】11.3、UVM Register Layer —— UVM Register Environment

文章目录 Register AdapterRegister Predictor创建一个Predictor的步骤1. 声明一个带参数的寄存器预测器版本,与目标总线事务类型一致2. 在注册环境中构建预测器3. 将寄存器映射、适配器和分析端口连接到预测器。Register 环境集成连接寄存器env在上一节寄存器模型(Register …

《零基础入门MySQL数据库》专栏简介

文章目录前言MySQL基础入门1. 零基础入门MySQL数据库(全)2. MySQL的not exists与双重否定(模板)MySQL基础实验实验一 数据定义实验二 简单查询实验三 连接查询实验四 多表查询实验五 子查询实验六 数据更新MySQL基础练习练习一 基…