01hadoop概念

大数据与Hadoop

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

Hadoop是什么?

Hadoop是一种分析和处理海量数据的软件平台,是一款开源软件,使用JAVA开发,可以提供一个分布式基础架构

Hadoop特点:

  • 高可靠性 :Hadoop按位存储和数据处理的能力值得信赖

  • 高扩展性:Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性

  • 高效性:Hadoop能够在节点之间进行动态地移动数据,并保证各个节点的动态平衡,处理速度非常快,具有高效性

  • 高容错性:Hadoop能够自动保存数据的多个副本(默认是3个),并且能够自动将失败的任务重新分配

Hadoop版本

  • Hadoop1.0:包含Common,HDFS和MapReduce,停止更新

  • Hadoop2.0:包含了Common,HDFS,MapReduce和YARN。Hadoop2.0和Hadoop1.0完全不兼容。

  • Hadoop3.0:包含了Common,HDFS,MapReduce,YARN。Hadoop3.0和Hadoop2.0是兼容的

Hadoop核心组件

HDFS(Hadoop Distributed File System)
  • HDFS:分布式存储,解决海量数据的存储

  • HDFS特点及原理:HDFS具有扩展性、容错性、海量数量存储的特点,原理为将大文件切分成指定大小(默认128M)的数据块, 并在分布式的多台机器上保存多个副本

  • HDFS角色和概念

    1. Client

      1.1 切分文件

      1.2 与namenode交互获取节点或文件元数据

      1.3 与datanode交互写入或读取数据

    2. Namenode(管理节点)

      2.1 存入文件元数据信息

      2.2 配置副本策略

      2.3 处理客户端的所有请求(读和写)

    3. Secondarynode

      3.1 定期同步NameNode的元数据和日志信息,紧急情况下,可转正

    4. Datanode(数据节点)

      4.1 存储具体数据

      4.2 汇报存储信息给namenode(datanode定期向namenode发送心跳消息。)

    5. Block

      每块默认128MB大小

    HDFS写文件流程

    【1】客户端将文件拆分成固定大小128M的块,并通知namenode
    【2】namenode找到可用的datanode返回给客户端
    【3】客户端根据返回的datanode,对块进行写入
    【4】通过流水线管道流水线复制
    【5】更新元数据,告诉namenode已经完成了创建新的数据块,保证namenode中的元数据都是最新的状态
    

在这里插入图片描述

HDFS读文件流程

【1】客户端向namenode发起读请求,把文件名,路径告诉namenode
【2】namenode查询元数据,并把数据返回客户端
【3】此时客户端就明白文件包含哪些块,这些块在哪些datanode中可以找到

在这里插入图片描述

MapReduce
  • MapReduce实现了分布式计算

    Hadoop的MapReduce是对google三大论文的MapReduce的开源实现,实际上是一种编程模型,是一个分布式的计算框架,用于处理海量数据的运算,由JAVA实现

  • MapReduce角色及概念

    1. JobTracker

      –Master节点只有一个

      –管理所有作业/任务的监控、错误处理等

      –将任务分解成一系列任务,并分派给TaskTracker

    2. TaskTracker

      –Slave节点,一般是多台

      –运行Map Task和Reduce Task

      –并与JobTracker交互,汇报任务状态

    3. Map Task

      –解析每条数据记录,传递给用户编写的map()并执行,将结果输出

    4. Reducer Task

      –从Map Task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行

Yarn
  • 作用:负责整个集群资源的管理和调度,是Hadoop的一个通用的资源管理系统

  • 定义:Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处

  • Yarn角色及概念

    1. Resourcemanager

      –处理客户端请求

      –启动/监控ApplicationMaster

      –监控NodeManager

      –资源分配与调度

    2. Nodemanager

      –单个节点上的资源管理

      –处理来自ResourceManager的命令

      –处理来自ApplicationMaster的命令

    3. ApplicationMaster

      –为应用程序申请资源,并分配给内部任务

      –任务监控与容错

    4. Container

      –对任务运⾏行环境的抽象,封装了CPU 、内存等

    5. Client

      –用户与Yarn交互的客户端程序

      –提交应用程序、监控应用程序状态,杀死应用程序等

用程序申请资源,并分配给内部任务

 –任务监控与容错 
  1. Container

    –对任务运⾏行环境的抽象,封装了CPU 、内存等

  2. Client

    –用户与Yarn交互的客户端程序

    –提交应用程序、监控应用程序状态,杀死应用程序等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/446791.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OD_2024_C卷_200分_8、攀登者2【JAVA】【逻辑分析】

package odjava;import java.util.Arrays; import java.util.HashSet; import java.util.Scanner;public class 八_攀登者2 {// 输入处理public static void main(String[] args) {Scanner sc new Scanner(System.in);int[] heights Arrays.stream(sc.nextLine().split("…

驱动开发常见的通信接口介绍

本文将为您详细讲解驱动开发中常见的通信接口,以及它们的特点、区别和应用场景。在操作系统和硬件设备之间,通信接口扮演着至关重要的角色,它们定义了数据如何在软件和硬件之间传输和交互。 1. 串行通信接口(Serial Communication…

防御保护作业六

实验拓扑图: 配置过程: FW1 自定义服务ike 创建nat策略,让10.0.2.0/24访问192.168.1.0/24的流量不进行nat转换,并将这条策略置于nat策略最上面,优先匹配 FW3 测试

CodeReview 规范及实施

优质博文:IT-BLOG-CN 一、为什么需要CodeReview 随着业务压力增大,引发代码质量下降,代码质量的下降导致了开发效率的降低,维护成功高等问题,开发效率下降后又加重了业务压力,最终陷入了死亡三角的内耗之…

Shell常用脚本:文件或目录一键同步到多台服务器

注意: 将本地文件,同步到【/opt/module/script/xsyncByFileIp.txt】里面的目标机器 xsyncByFile.sh #!/bin/bash# 入参参数个数 argsCount$#if(($argsCount0)); thenecho "同步失败:请输入待同步的文件或者目录" exit; fiecho &q…

【大厂AI课学习笔记NO.68】开源和开源发展情况

开源即源代码公开,任何人能获取源代码,查看、修改、分发他们认为合适的代码。 依托同行评审和社区生成,旨在以分散、协作的方式开发。 我们曾经很详细的讨论过开源协议的问题,详细可以参考我的文章: https://giszz.…

OpenCV的常用数据类型

OpenCV涉及的常用数据类型除包含C的基本数据类型,如:char、uchar,int、unsigned int,short 、long、float、double等数据类型外, 还包含Vec,Point、Scalar、Size、Rect、RotatedRect、Mat等类。C中的基本数据类型不需再做说明下面重点介绍一下…

flink重温笔记(十四): flink 高级特性和新特性(3)——数据类型及 Avro 序列化

Flink学习笔记 前言:今天是学习 flink 的第 14 天啦!学习了 flink 高级特性和新特性之数据类型及 avro 序列化,主要是解决大数据领域数据规范化写入和规范化读取的问题,avro 数据结构可以节约存储空间,本文中结合企业真…

iOS17.4获取UDID安装mobileconfig描述文件失败 提示“安全延迟进行中”问题 | 失窃设备保护

iOS17.4这两天已经正式发布, 在iOS 17.4版本中新增了一个名为"失窃设备保护"的功能,并提供了一个"需要安全延迟"的选项。 iOS17.4获取UDID安装mobileconfig描述文件失败 提示“安全延迟进行中”问题 | 失窃设备保护 当用户选择启用…

贝叶斯优化的门控循环神经网络BO-GRU(时序预测)的Matlab实现

贝叶斯优化的门控循环神经网络(BO-GRU)是一种结合了贝叶斯优化(Bayesian Optimization, BO)和门控循环单元(Gated Recurrent Unit, GRU)的模型,旨在进行时序预测。这种模型特别适用于时间序列数…

Linux:kubernetes(k8s)lable和selecto标签和选择器的使用(11)

通过标签是可以让我们的容器和容器之间相互认识,简单来说一边打了标签,一边使用选择器去选择就可以快速的让他们之间耦合 定义标签有两种办法,一个是文件中,一个是命令行里 我们在前几章编进文件的时候里面都有lable比如 这个就是…

OpenCV读取tensorflow神经网络模型:SavedModel格式转为frozen graph的方法

本文介绍基于Python的tensorflow库,将tensorflow与keras训练好的SavedModel格式神经网络模型转换为frozen graph格式,从而可以用OpenCV库在C 等其他语言中将其打开的方法。 如果我们需要训练并使用一个神经网络模型,一般情况下都是首先借助Py…

[mmucache]-ARMV8-aarch64的虚拟内存(mmutlbcache)介绍-概念扫盲

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 思考: 1、cache的entry里都是有什么? 2、TLB的entry里都是有什么? 3、MMU操作…

QT给QLabel设置背景颜色

1.选中label 2.右键点击"改变样式表" 3.填写样式,点击apply,ok 注意 #{QLabel名称},例如名称是label就是QLabel#label

opencv人脸识别实战3:多线程和GUI界面设计(PyCharm实现)

一、多线程设计 1、在一个新线程中调用了 scan_face() 函数来进行人脸识别操作。根据识别结果,更新界面显示结果,最后释放资源。 def f_scan_face_thread():var.set(刷脸)ans scan_face()if ans 0:print("最终结果:无法识别")va…

【个人开发】llama2部署实践(三)——python部署llama服务(基于GPU加速)

1.python环境准备 注:llama-cpp-python安装一定要带上前面的参数安装,如果仅用pip install装,启动服务时并没将模型加载到GPU里面。 # CMAKE_ARGS"-DLLAMA_METALon" FORCE_CMAKE1 pip install llama-cpp-python CMAKE_ARGS"…

UE4开个头-简易小汽车

跟着谌嘉诚学的小Demo,记录一下 主要涉及到小白人上下车和镜头切换操作 1、动态演示效果 2、静态展示图片 3、蓝图-上下车

如何轻松打造属于自己的水印相机小程序?

水印相机小程序源码 描述:微信小程序。本文将为您详细介绍小程序水印相机源码的搭建过程,教您如何轻松打造属于自己的水印相机小程序。无论您是初学者还是有一定基础的开发者,都能轻松掌握这个教程。 一:水印相机搭建教程 1 隐…

Ubuntu23.10安装FFmpeg及编译FFmpeg源码

安装FFmpeg: 打开终端: 输入 sudo apt install ffmpeg 安装成功: 验证FFmpeg 默认安装位置与库与头文件位置 使用FFmpeg源码编译: 1.安装YASM sudo apt-get install yasm

鸿蒙开发学习:【ets_frontend组件】

简介 ets_frontend组件是方舟运行时子系统的前端工具,结合ace-ets2bundle组件,支持将ets文件转换为方舟字节码文件。 ets_frontend组件架构图 目录 /arkcompiler/ets_frontend/ ├── test262 # test262测试配置和运行脚本 ├── testTs…