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交互的客户端程序

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年掌握人工智能的顶级课程

[AI 课程推荐] 谷歌、微软、哈佛大学, DeepLearning.AI都发布了免费的人工智能和ChatGPT的课程。 以下是 2024 年掌握人工智能的顶级课程: GOOGLE - 生成式人工智能学习路径微软- 为每个人提供生成式人工智能微软 - 人工智能初学者入门哈佛 - CS50 的 Python 人工智能简介Deep…

论文阅读--A Survey of Meta-Reinforcement Learning

论文概述 本文是一篇关于元强化学习(Meta Reinforcement Learning)的综述。元强化学习是将改进强化学习算法的发展看作是一个机器学习问题的方法,通过在给定任务分布的情况下学习一个能够适应任何新任务的策略,来提高强化学习算法…

mysql的安装启动

下载 2.解压后放在某个目录下: 3.修改系统变量 4.修改配置文件 (创建一个ini文件放在解压后的目录下) 内容如下 5.初始化mysql 1.用管理员模式下输入: mysqld --initialize --console C:\WINDOWS\system32>mysqld --initia…

今天就分享一下如何提前前端游戏的效率工作问题(自己工作经验得出来的)

比如给到一个新的功能,涉及的逻辑可能简单可能复杂,无论是哪一种,你都要做以下这几点我个人是觉得可以提升效率这一块的... 第一:你做的时候或者做的过程中如果遇到问题卡你半个小时以上的,那么这个你千万不要在埋头苦…

Java面试必考题之线程的生命周期,结合源码,透彻讲解!

写在开头 在前面的几篇博客里,我们学习了Java的多线程,包括线程的作用、创建方式、重要性等,那么今天我们就要正式踏入线程,去学习更加深层次的知识点了。 第一个需要学的就是线程的生命周期,也可以将之理解为线程的…

Springboot jpa 查询排序Sort,分页Page使用报错

一.Sort 报错信息&#xff1a; “Sort(org.springframework.data.domain.Sort.Direction, java.util.List<java.lang.String>) has private access in org.springframework.data.domain.Sort” 原因&#xff1a; 使用Sort sort new Sort(Sort.Direction.DESC, "…

orm之SQLAlchemy

SQLAlchemy 1.介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上&#xff0c;使用关系对象映射进行数据库操作&#xff0c;简言之便是&#xff1a;将类和对象转换成SQL&#xff0c;然后使用数据API执行SQL并获取执行结果。 pip3 install sqlalchemy组…

JVM运行时数据区——对象的实例化内存布局与访问定位

文章目录 1、对象的实例化1.1、创建对象的方式1.2、创建对象的步骤 2、对象的内存布局3、对象的访问定位3.1、对象访问的定位方式3.2、使用句柄访问3.3、使用指针访问 4、小结 平时大家经常使用new关键字来创建对象&#xff0c;那么我们创建对象的时候&#xff0c;怎么去和运行…

ABAP接口-RFC连接(ABAP TO ABAP)

目录 ABAP接口-RFC连接&#xff08;ABAP TO ABAP&#xff09;创建ABAP连接RFC函数的调用 ABAP接口-RFC连接&#xff08;ABAP TO ABAP&#xff09; 创建ABAP连接 事务代码&#xff1a;SM59 点击创建&#xff0c;填写目标名称&#xff0c;选择连接类型&#xff1a; 填写主机名…

Vue动态绑定样式

虽然经常使用动态绑定样式的方法&#xff0c;但有时候突然要用&#xff0c;一瞬间还是会有点困惑&#xff0c;决定记录一下&#xff0c;方便混乱的时候查阅。 绑定 HTML class 绑定对象 <div :class"{ active: isActive }"></div> <divclass"…

pycharm查看Tensor的完整数据

通常debug时&#xff0c;Tensor的数据呈现如下图&#xff0c;只显示开头几个值和结尾几个值&#xff0c;中间被省略&#xff1a; 解决方法&#xff1a; 右击想查看的数据&#xff0c;选择Evaluate Expression 输入如下命令&#xff0c;就会出现View as Array提示&#xff0c;…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:LoadingProgress)

用于显示加载动效的组件。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 LoadingProgress() 创建加载进展组件。 从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使…

2024年k8s最新版本使用教程

2024年k8s最新版本使用教程 3. YAML语言入门3.1 基本语法规则3.2 支持的数据结构3.3 其他语法 4 资源管理4.1 k8s资源查询4.2 资源操作命令4.3 资源操作方式4.3.1 命令行方式4.3.2 YAML文件方式 5 Namespace5.1 查看命名空间5.2 创建命名空间5.3 删除命名空间5.4 命名空间资源限…

API接口商品竞品价格监控,品牌维权

第一步&#xff1a;确定监控目标 在开始之前&#xff0c;需要明确监控哪些竞品及其相关属性&#xff0c;如产品名称、SKU、价格、促销信息等。此外&#xff0c;设定监控频率和关键绩效指标&#xff08;KPIs&#xff09;&#xff0c;例如价格变动幅度、变动频率等&#xff0c;以…

脚本自动化 设置快捷方式并设置为管理员运行

自动化创建快捷方式并设置为始终以管理员权限运行&#xff0c;可以通过编写批处理脚本来实现。以下是一个创建.bat批处理文件快捷方式并设置为管理员运行的示例脚本&#xff1a; batch echo off set SCRIPT_PATH"C:\Scripts\myScript.bat" set SHORTCUT_PATH"%…

TenantLineHandler 在 MyBatis Plus 中处理多租户场景

TenantLineHandler 在 MyBatis Plus 中通常用于处理多租户场景。多租户是指在一个软件实例中&#xff0c;能够同时处理多个不同的租户数据&#xff0c;并且保证数据之间的隔离性。在多租户应用中&#xff0c;通常需要在 SQL 查询中加入额外的条件&#xff0c;以确保每个租户只能…

计算机组成原理之机器:输入输出系统

计算机组成原理之机器&#xff1a;输入输出系统 笔记来源&#xff1a;哈尔滨工业大学计算机组成原理&#xff08;哈工大刘宏伟&#xff09; Chater3&#xff1a;输入输出系统 3.1 输入输出系统的发展概况 早期阶段 外部设备与主机之间采用分散连接&#xff0c;即每一个设备都…

什么是微隔离技术?

微隔离产生的背景 首先来看下南北向流量以及东西向流量的含义 南北向流量 指通过网关进出数据中心的流量&#xff0c;在云计算数据中心&#xff0c;处于用户业务虚拟机&#xff08;容器&#xff09;跟外部网络之间的流量&#xff0c;一般来说防火墙等安全设备部署在数…

数组的访问2

1.数组的索引 数组的索引即数组的下标&#xff0c;使用下标查找到当前位置的数组中的值&#xff08;注意&#xff1a;数组下标是从0开始的&#xff09; public class ArrayDemo2 {public static void main(String[] args) {// 数组的索引int[] age {12,22,31};// 1.根据索引…

python控制语句-1.2

目录 循环结构 while循环 for循环 循环结构练习-1 循环嵌套 循环结构练习-2 循环控制语句&#xff08;continue & break&#xff09; 循环结构 while循环 语法 Python 编程中 while 语句用于循环执行程序&#xff0c;即在某条件下&#xff0c;循环执行某段程序&am…