0


Hadoop原理,HDFS架构,MapReduce原理

Hadoop原理,HDFS架构,MapReduce原理

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

文章目录

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,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

标签: hadoop hdfs 架构

本文转载自: https://blog.csdn.net/weixin_46838716/article/details/134297340
版权归原作者 冰露可乐 所有, 如有侵权,请联系我们删除。

“Hadoop原理,HDFS架构,MapReduce原理”的评论:

还没有评论