Hadoop原理,HDFS架构,MapReduce原理

Hadoop原理,HDFS架构,MapReduce原理

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!


文章目录

  • Hadoop原理,HDFS架构,MapReduce原理
    • @[TOC](文章目录)
  • Hadoop是什么?
  • Hadoop概述
  • Hadoop优势
  • Hadoop的生态系统
  • Hadoop集群的部署模式
  • Hadoop的历史版本
  • HDFS的演进
  • HDFS基本概念
  • HDFS的优缺点
  • HDFS主从架构
  • HDFS写原理
  • HDFS读数据的原理
  • HDFS的shell操作
  • MapReduce分布式计算框架
  • map和reduce内部如何合作
  • maptask
  • reducetask
  • shuffle工作原理
  • MapReduce的运行模式
  • MapReduce的性能优化
  • 总结

Hadoop是什么?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Hadoop概述

在这里插入图片描述

Hadoop优势

在这里插入图片描述
计算能力
存储能力
廉价计算机组成
高效率,吞吐量高
可靠,容错
数据副本机制基本不会丢

Hadoop的生态系统

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Hadoop集群的部署模式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Hadoop的历史版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
收费的牛逼

在这里插入图片描述
主从架构
在这里插入图片描述
在这里插入图片描述

计算类似的
MapReduce
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
yarn来管理分配资源和调度资源
resourcemanager
管理nodemanager
APPmaster,进程去计算
在这里插入图片描述
app计算完,上报给老大
在这里插入图片描述
单点故障依然gg

在这里插入图片描述
在这里插入图片描述
还是备份思想
gg
zookeeper来搞这种管理,美滋滋

这门课牛逼,终于说清楚了这些事情
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不是resource 了

在这里插入图片描述
在这里插入图片描述

HDFS的演进

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
老牛逼了

HDFS基本概念

在这里插入图片描述

不妨设a.txt要存储,它很大很大,一个机子存不了
咱需要拆分成多个block

这样分开存在不同的机子上
支离破碎的文件,需要统一管理,namenode来管理

当客户端访问是,先要问nn,你给我真实的地址,我一个个去读取然后组装就好。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
nn就是老大

datanode
在这里插入图片描述

在这里插入图片描述
block

在这里插入图片描述
在这里插入图片描述
300m那平均分开

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3份一样的数据,分开存储,增加容错性
在这里插入图片描述

HDFS的优缺点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
蓝色dn1丢失
但是dn2和dn3保持数据的完整性
美滋滋
在这里插入图片描述
字节流,好像访问本地文件,效率高

支持超大文件的存储,切片分开存储,都能玩
高数据的吞吐量,不支持修改,支持存储

在这里插入图片描述
由于数据多,分开存,这样的话,速度慢
适合线下处理
尤其是小文件多,元数据量大,很烦人

并发写入不合适,他要备份
一次写入,多次读取

HDFS主从架构

namenode管理datanode
在这里插入图片描述
namenode的元数据是缓存在自己身上的,secondarynamenode辅助管理

datanode经常需要汇报给老大namenode

一个大文件,一般有3个副本
在这里插入图片描述

HDFS写原理

在这里插入图片描述
client客户端的操作

在这里插入图片描述
分步骤玩
在这里插入图片描述

1:客户端发出RPC,请求上传文件
2:nn检查元数据文件的目录树
3:告诉客户端,可以上传
4:上传请求第一个block,一共3个
5:每个block是要3个副本的,nn需要检查dn的信息池,查他的存储量和可用性,找到可用的list,即可用的副本
6:返回可用的datanode可用的列表,dn123
7:客户端收到了列表之后,他就知道存到哪里了,他需要和服务器之间建立pipeline管道,且dn1和dn2之间也要建立管道,dn2和dn3都要建立,这样的话,数据流通道搞出来了,当客户端一旦发送,就能同时发送哦
8:当管道建立好后,返回管道建立完毕的信息,相当于ack,tcp协议连接类似
9:就可以发送了,建立传输数据流,发送数据
10:以package包为单位,慢慢发,64k大小,dn1发送诶dn2,dn2发送给dn3
11:发送完毕,告诉前面确认好了,ack确认信息
12:通知客户端,block发送完毕,请求发送下一个block,以此循环发

懂了吧

HDFS读数据的原理

在这里插入图片描述
1:客户端发RPC请求,获取读取文件block数据所在的位置,往往1文件,是分成了多个block,而且分散存储在不同的服务器上的
2:nn返回block返回datanode的地址列表,比如dn1,dn2,dn3上都有副本
3:当客户端知道了地址,他直接挑选排序靠前的地址列表,距离自己比较近的那个节点,它还能挑选健康的服务器,比如挑选,然后建立通信管道,分别读取,并发读取哦。每次读完,那客户端都要完成校验,发现不完整,还需要从新问nn;
4:读取完成,合成一个完整的文件
在这里插入图片描述

HDFS的shell操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
/根目录
Hadoop fs -ls /目录
这种特定的命令

在这里插入图片描述
这种就是普通Linux之前加一个Hadoop fs
或者dfs fs

在这里插入图片描述
本地路径,目标路径

在这里插入图片描述

MapReduce分布式计算框架

在这里插入图片描述
在这里插入图片描述
HDFS是存储
MapReduce是计算

懂?
yarn是管理
分而治之——MapReduce

在这里插入图片描述
map
reduce

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

map和reduce内部如何合作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
格式化,结构化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

maptask

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

reducetask

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

shuffle工作原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
blocksize最重要
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
new一个text和int就是kv

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
k想通,哈希值就相同

就是分区的编号,根key个数相同
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

MapReduce的运行模式

在这里插入图片描述
在这里插入图片描述
输入输出
key123各种格式

在这里插入图片描述

MapReduce的性能优化

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


总结

提示:重要经验:

1)
2)学好oracle,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

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

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

相关文章

2022年06月 Python(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 Python中 print(“八进制{: o}”.format(12)) 正确的输出结果是?( ) A: 八进制:O B: 八进制:O14 C: 八进制14O D: 八进制14 答案:D 字符串的format()格式。 第2题 下列的程…

taro(踩坑) npm run dev:weapp 微信小程序开发者工具预览报错

控制台报错信息: VM72:9 app.js错误: Error: module vendors-node_modules_taro_weapp_prebundle_chunk-JUEIR267_js.js is not defined, require args is ./vendors-node_modules_taro_weapp_prebundle_chunk-JUEIR267_js.js 环境: node 版本&#x…

Wireshark学习 与 TCP/IP协议分析

Wireshark简介和工具应用 如何开始抓包? 打开wireshark,显示如下网络连接。选择你正在使用的,(比如我正在使用无线网上网),双击 可以先看下自己的ip地址和网关ip地址(看抓包数据时候会用到&…

Conda executable is not found 三种问题解决

如果在PyCharm中配置Python解释器时显示“conda executable is not found”错误消息,这意味着PyCharm无法找到您的Conda可执行文件。您可以按照以下步骤解决此问题: 1.方法一 确认Conda已正确安装。请确保您已经正确安装了Anaconda或Miniconda&#xff…

macbook在网页上下载的软件不在启动台出现的解决办法

第一步:打开终端 第二步:在终端中输入这两行命令即可 defaults write com.apple.dock ResetLaunchPad -bool true killall Dock

多个微信快速同步发圈

做营销最重要的任务是什么? 毋庸置疑,就是发布朋友圈。 为什么要发圈呢? 现在社交媒体中,微信不管在生活上、工作上都是不可或缺的工具,而朋友圈是微信中社交场景之一,也是很多企业作为推广产品和服务的重…

华为ensp:为vlan配置ip

配置对应vlan的ip vlan1 interface Vlanif 1 进入vlan1 ip address 192.168.1.254 24配置IP为192.168.1.254 子网掩码为24位 这样就配置上ip了 vlan2 interface Vlanif 2 ip address 192.168.2.254 24 vlan3 interface Vlanif 3 ip address 192.168.3.254 24 查看结果 …

笔尖笔帽检测1:笔尖笔帽检测数据集(含下载链接)

笔尖笔帽检测1:笔尖笔帽检测数据集(含下载链接) 目录 笔尖笔帽检测1:笔尖笔帽检测数据集(含下载链接) 1. 前言 2. 手笔检测数据集 (1)Hand-voc1 (2)Hand-voc2 (3)Hand-voc3 …

爬虫项目(12):正则、多线程抓取腾讯动漫,Flask展示数据

文章目录 书籍推荐正则抓取腾讯动漫数据Flask展示数据 书籍推荐 如果你对Python网络爬虫感兴趣,强烈推荐你阅读《Python网络爬虫入门到实战》。这本书详细介绍了Python网络爬虫的基础知识和高级技巧,是每位爬虫开发者的必读之作。详细介绍见&#x1f44…

Angular 使用教程——基本语法和双向数据绑定

Angular 是一个应用设计框架与开发平台,旨在创建高效而精致的单页面应用 Angular 是一个基于 TypeScript 构建的开发平台。它包括:一个基于组件的框架,用于构建可伸缩的 Web 应用,一组完美集成的库,涵盖各种功能&…

OV5640的参数与配置方法

分辨率和速率(FPS) 寄存器配置 I/O 板的驱动能力和方向控制 system clock control OV5640 PLL 允许输入时钟频率范围为 6~27 MHz,最大 VCO 频率为 800 MHz。 MipiClk 用于 MIPI,SysClk 用于图像信号处理 (ISP) 模块的内部时钟。 …

怎么批量获取文件名,并保存到excel?

怎么批量获取文件名?什么叫批量获取文件名,其实也非常好理解,就是面对大量文件是可以一次性的获取所有文件名称,这项技术的应用也是非常常见的,为什么这么说呢?现在很多的文档管理人员或者公司的文员&#…