hadoop简介

news2024/11/28 8:37:20

文章目录

      • 1:hadoop简介
      • 2:Hadoop系统
        • 2.1:hadoop架构
          • 1:MapReduce
          • 2:YARN架构
          • 3:HDFS
        • 2.2:HDFS、YARN、MapReduce三者关系

1:hadoop简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。主要解决海量数据的存储和海量数据的分析计算问题

并行计算的架构
在这里插入图片描述
分布式计算的核心思想就是:分而治之,先分后和

2:Hadoop系统

2.1:hadoop架构

Hadoop核心三剑客
HDFS:数据存储
YARN:系统资源分配管理
MapReduce:计算

在这里插入图片描述

1:MapReduce

本身就是用于并行处理大数据集的软件框架。MapReduce 的根源是函数性编程中的 map 和 reduce 函数。它由两个可能包含有许多实例(许多 Map 和 Reduce)的操作组成。Map 函数接受一组数据并将其转换为一个键/值对列表,输入域中的每个元素对应一个键/值对。Reduce 函数接受 Map 函数生成的列表,然后根据它们的键(为每个键生成一个键/值对)缩小键/值对列表 [6] 。
在这里插入图片描述
在这里插入图片描述
mapreduce运行时会有MrAppMaste、MapTask、ReduceTask三个进程存在

map:切割处理
reduce:合并归约

2:YARN架构

Resource Manager:整个集群资源的统一管理者
Node Manager:单个节点服务器的资源管理者
App Mstr:单个任务运行的管理者
Container:相当于一台独立服务器,里面有任务运行所需要的资源,比如CPU、磁盘、网络等
在这里插入图片描述

3:HDFS

HDFS系统架构介绍

2.2:HDFS、YARN、MapReduce三者关系

工作过程概述:

1.用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等

2.ResourceManager为该应用程序分配第一个Container,并与对应的Node-Manager通信,要求它在这个Container中启动应用程序ApplicationMaster

3.ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7

4.ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源

5.一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务

6.NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务MapTask

7.各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态

8.最后经过ReduceTask将结果返回写到磁盘,HDFS做相应的存储

9.应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己

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

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

相关文章

如何快速删除CSV、Excel、Markdown表格的重复行?

如果你正在使用 CSV、Excel 或 Markdown 表格,你可能会遇到重复行的问题。这可能是因为你手动输入了重复的数据,或者是因为你从其他源导入了重复的数据。无论原因是什么,删除重复行是一项重要的数据清理任务。本文将向你展示如何使用几种不同…

RESTful的风格提倡 URL 地址使用统一的风格设计

RESTful概念实现REST:Representational State Transfer,表现层资源状态转移。资源:资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。资源的表述资源的表…

nnUNet 训练 AMOS22数据集 Task216(抽丝剥茧指令+原理篇)

环境准备篇 安装hiddenlayer(用来生成什么网络拓扑图?管他呢,装吧) pip install --upgrade githttps://github.com/nanohanno/hiddenlayer.gitbugfix/get_trace_graph#egghiddenlayer 安装环境,由于服务器已经装好py…

网络安全日益严峻下计算机主机加固的意义

​ 近年来,计算机以及互联网应用在中国得到普及和发展,已经深入到社会每个角落,政府,经济,军事,社会,文化和人们生活等各方面都越来越依赖于计算机和网络,电子政务,无纸办…

【计算机体系结构】指令集体系结构、微体系结构简介

1. “虚拟” to “现实” 首先可以看这张图片,下面的 Physics 所指的是我们的物理世界中看得见摸得到或者是客观存在的事物,而人类希望将自己的工作内容或者需求以某种方式映射到物理层面上,用物理变化带来的影响来完成人类工作内容。例如早期…

《Linux Shell脚本攻略》学习笔记-第二章

2.1 简介 本章将为你介绍一些最值得关注同时也是最实用的命令。 2.2 用cat进行拼接 cat命令能够显示或者拼接文件内容。cat能够将标准输入数据与文件数据组合在一起。 通常的做法是将stdin重定向到一个文件,然后再合并两个文件。而cat命令一次就能搞定这些操作。 1&…

【Linux】基础常见指令

目录​​​​​​​ 前言 一、Linux的环境搭建与远程控制 Linux 环境的搭建方式主要有三种 使用 XShell 远程登陆到 Linux 二、常见指令 1. ls 指令 2. pwd命令 3. cd 指令 4. touch指令 5. mkdir指令 6. rmdir指令 && rm 指令 7. man指令 8. cp指令 9. mv指令 10.…

【微信小程序】实用教程02-添加全局页面配置、页面、底部导航

开始前,请先完成项目创建,详见 【微信小程序】实用教程01-注册登录账号,获取 AppID、下载安装开发工具、创建项目、上传体验 前期准备 因我们的项目是根据模板创建的,需先清理掉无效的页面代码,具体操作方式如下&…

LeetCode 64. 最小路径和

🌈🌈😄😄 欢迎来到茶色岛独家岛屿,本期将为大家揭晓LeetCode 64. 最小路径和,做好准备了么,那么开始吧。 🌲🌲🐴🐴 一、题目名称 LeetCode 64…

【Redis】使用阻塞队列+Redis优化秒杀业务

【Redis】使用阻塞队列Redis优化秒杀业务 文章目录【Redis】使用阻塞队列Redis优化秒杀业务1. 为什么要优化2. 怎么优化2.1 查询优惠卷2.2 判断秒杀库存2.3 校验一人一单2.4 减库存2.5 创建订单2.6 保证redis操作的原子性3. 确认优化方案4. 实现优化方案4.1 编写lua脚本4.2 定义…

jvm系列(3)--运行时数据区Runtime

目录运行时数据区概述及线程前言运行时数据区结构运行时数据区与内存线程的内存空间Runtime类线程JVM 线程JVM 系统线程程序计数器(PC寄存器)PC寄存器介绍PC寄存器的作用举例两个面试题CPU 时间片本地方法接口本地方法举例为什么要使用 Native Method?与Java环境外交…

Tomcat打破双亲委派模型

tomcat的类加载器结构tomcat的类加载(loadClass)过程和原本的双亲委派模型思路差不多,先看有没有加载过。先在本地 Cache 查找该类是否已经加载过,也就是说 Tomcat 的类加载器是否已经加载过这个类。如果 Tomcat 类加载器没有加载…

【学习笔记】【Pytorch】张量(Tensor)的基础操作

【学习笔记】【Pytorch】张量(Tensor)的基础操作一、创建张量1.使用数据创建张量2.无需数据的创建选项3.torch.Tensor与torch.tensor的区别4.PyTorch中张量的创建方法的选择二、张量的属性1.张量的 torch.dtype2.张量的 torch.device3.张量的 torch.layo…

阿维塔冲击年10万台订单,第二款车型Q2发布

1月13日,阿维塔科技在重庆总部召开渠道合作伙伴大会。今年,阿维塔计划推出: •阿维塔11后驱版本 •并发布第二款产品,代号E12,定位中大型轿车。阿维塔今年计划冲击10万辆订单目标。在当前CHN平台的基础上,阿…

Openresty记录笔记

最近由于项目需要学习了安全代理的相关知识,其实刚开始的时候是非常需要一个入门的介绍,大概说明下这个到底是个什么东西,能干啥,简单的原理是什么,为此我记录下我看完用完的心得,记录成笔记。 一般我们代码…

Redis 持久化详解

目录一、简介二、RDB持久化2.1、SAVE2.2、BGSAVE2.3、SAVE选项2.4、RDB文件结构2.5、RDB文件载入三、AOF持久化3.1、开启AOF功能3.2、配置AOF文件的冲洗频率3.3、AOF重写3.3.1、BGREWRITEAOF命令(手动)3.3.2、AOF重写配置选项(自动&#xff0…

Android | Service

Android Service Service 概念 实现程序后台运行的解决方案,一种可在后台执行长时间运行操作而不提供界面的应用组件。Service 的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另外一个应用程序,Service 仍然能…

Vue3——第十五章(计算属性:computed)

一、基础示例 模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。推荐使用计算属性来描述依赖响应式状态的复杂逻辑。 在这里定义了一个计算属性 publishedBooksMessage。computed() 方…

【设计模式】创建型模式·原型模式

设计模式学习之旅(五) 查看更多可关注后查看主页设计模式DayToDay专栏 一. 概述 用一个已经创建的实例作为原型,通过复制(克隆)该原型对象来创建一个和原型对象相同的新对象。 原型模式包含如下角色: 抽象原型类:规定了具体原型对象必须实现…

Java基础(二)

1.标识符标识符:由数字、字符、下划线、$组成(不能以数字、下划线开头)java严格区分大小写2.命名规范包名:多单词组成时所有字母全部小写类名、接口名:多单词组成时,所有单词首字母大写变量名、方法名&…