您现在的位置是:热点 >>正文
HDFS是如何设计架构的?
热点314人已围观
简介...
前言
Hadoop到目前为止发展已经有10余年,版本经过无数次的更新迭代,目前业内大家把Hadoop大的版本分为Hadoop1.0、Hadoop2.0、Hadoop3.0 三个版本。
一、Hadoop 简介
Hadoop版本刚出来的时候是为了解决两个问题:一是海量数据如何存储的问题,一个是海量数据如何HD计算的问题。Hadoop的核心设计就是HDFS和 Mapreduce.HDFS解决了海量数据如何存储的问题, Mapreduce解决了海量数据如何计算的问题。HDFS的全称:Hadoop Distributed File System。
二、分布式文件系统
图片 HDFS其实就可以理解为一个分布式文件系统,可以看如图1所示有4FS个服务器是不是都有他自己的文件系统都可以进行存储数据,假设每个服务器的存储空间存储10G的数据。假设数据量很小的时候存储10G的数据还是ok的当数据量大于服务器的存储空间时是不是单个服务器就没法存储了。 我们是不是可以在服务器中部署一个Hadoop这样就能构建出一个集群(超级大电脑)。这样就存储 4*10=4是如0G的数据量,这样我们面向用户时是不是只有一台超级大的电脑相当于一个分布式文件系统。
HDFS是一个主从的架构、主节点只有一个NemeNode。从节点有多个DataNode。
三、HDFS 架构
图片 假设我们这里有5台服务器每台服务器都部署上Hadoop,我们随便选择一台服务器部署上NameNode剩下服务器部署上Da何设taNode。
客户端上传文件时假设文件大小为129MHDFS默认切分的大小为128M这时就会产生出2个blkNameNode去通知DataNode上传文件(这里有一定的策略),我们就假设就将这几个文件分别存储在4个服务器上。为什们要进行分别存储在,假设DataNode服务器有一天突然挂掉了我们是不是还可通过Dat计架aNode4或2和3进行读取数据,这样是不是就防止数据丢失。
NameNode
管理元数据信息(文件目录树):文件与Block块,Block块与DataNode主机关系 NameNode为快速响应用户操作,所以把元数据信息加载到内存里
DataNode
存储数据,把上传的数据划分固定大小文件块(Block)在Hado构的op2.73之前是64M之后改为了128M 为了保证数据安全,每个文件默认都是三个副本
SecondaryNamenode
周期性的到NameNode节点拉取Edtis和fsimage文件,将这两个文件加入到内存进行 然后将这两个文件加入到内存中进行合并产生新的fsimage发送给NameNode。
四、HDFS写入数据流HD程
客户端会带着文件路径向NameNode发送写入请求通过 RPC 与 NameNode 建立通讯, NameNode 检查目标文件,返回是否可以上传; Client 请求第一个 block 该传输到哪些 DataNode 服务器上; NameNode 根据副本数量和副本放置策略进行节点分配,返回DataNode节点,如:A,B,C ClieFSnt 请求A节点建立pipeline管道,A收到请求会继续调用B,然后B调用C,将整个pipeline管道建立完成后,逐级返回消息到Client; Client收到A返回的消息之后开始往A上传第一个block块,block块被切分成64K的packet包不断的在pepiline管道里传递,从A到B,B到C进行是如复制存储 当一个 block块 传输完成之后,Client 再次请求 NameNode 上传第二个block块的存储节点,不断往复存储 当所有block块传输完成之后,Client调用FSDataOutputSteam的close方法关闭输出流,最后调用FileSystem的complete方法告知NameNode数据写入成功
五何设、HDFS读取数据流程
客户端会先带着读取路径向NameNode发送读取请求,通过 RPC 与 NameNode 建立通讯,NameNode检查目标文件,来确定请求文件 block块的位置信息 NameNode会视情况返回文件的部分或者全部block块列表,对于每个block块,NameNode 都会返回含有该 block副本计架的 DataNode 地址 这些返回的 DataNode 地址,会按照集群拓扑结构得出 DataNode 与客户端的距离,然后进行排序,排序两个规则:网络拓扑结构中距离 Client 近的排靠前;心跳机制中超时汇报的 DN 状态为 STALE,这样的排靠后; Client 选取排序靠前的 DataNode 调用FSDataInputSteam的构的read方法来读取 block块数据,如果客户端本身就是DataNode,那么将从本地直接获取block块数据 当读完一批的 block块后,若文件读取还没有结束,客户端会继续向NameNode 获取下一批的 block 列表,继续读取 所有block块读取完成后,Client调用FSDataInputStream.cHDlose()方法,关闭输入流,并将读取来所有的 block块合并成一个完整的最终文件
六、HDFS缺陷
注意:早期版本
单点问题 内存受限
总结
上述给大家讲解了简单的HDFS架构,我在最后面留了一个小问题,我会在下期通过画图的方式给大家讲解,我在这里为大家提供大数据的资料需要的朋友可以去下面GitHub去下载,信自己,努FS力和汗水总会能得到回报的。我是大数据老哥,我们下期见~~~
Tags:
上一篇:标签: 钉钉
相关文章
最接地气的数据分析详细流程,看这篇就够了!
热点什么是数据分析? 无论你是刚接触数据分析,还是一位分析大神,我想很多人都不知道,数据分析究竟是什么,或者说数据分析的本质是什么。 其实很多公司和企业,也不明白数据分析是什么,很多人从网上看到公司招数据...
【热点】
阅读更多Stealthbits增加了数据隐私引擎
热点Stealthbits是Netwrix的一个子公司,本月初被收购后,今天宣布已在其同名平台上添加了数据隐私引擎,该引擎将最终用户身份与其个人数据的位置相关联。 Stealthbits产品策略副总裁Ad...
【热点】
阅读更多标签: 赛力斯 问界 A+H上市 新能源汽车
热点云梦级11月5日云梦级消息,11月5日,赛力斯(股票代码:9927.HK)在香港联合交易所主板正式挂牌上市。此举意味着赛力斯成为国内首家“A+H”两地上市的豪华新能源车企,此次募资净额140.16亿港...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.shopping.com/search.html?keyword=谷歌霸屏程序【tg:seogoogle987】,a8w
- https://www.shacknews.com/editorial-search?q=谷歌霸屏程序【tg:seogoogle987】,MZP
- https://store.line.me/search/sticker/ja?q=谷歌霸屏程序【tg:seogoogle987】r1Q
- https://www.sportbiketracktime.com/index.php?route=product/search&tag=谷歌霸屏程序【tg:seogoogle987】,3hU
- https://www.whiterock2008.com.tw/search?q=谷歌霸屏程序【tg:seogoogle987】,eNv
- https://www.youtube.com/hashtag/谷歌霸屏程序【tg:seogoogle987】,DeF
- https://www.kubb-tool.bfs.admin.ch/en/search?action=CHECK&q=谷歌霸屏程序【tg:seogoogle987】,ZOj
- https://www.wuv.edu/?s=谷歌霸屏程序【tg:seogoogle987】,5HQ
- https://www.sogou.com/web?query=谷歌霸屏程序【tg:seogoogle987】,ebf
- https://www.msrenewal.com/search/谷歌霸屏程序【tg:seogoogle987】,nKF
- https://www.rotherham.gov.uk/site-search/results/?q=谷歌霸屏程序【tg:seogoogle987】,bwy
- https://www.theaerogroup.net/?cat=28&s=谷歌霸屏程序【tg:seogoogle987】,f84
- https://www.monroecounty.gov/search/?q=谷歌霸屏程序【tg:seogoogle987】,Ok5
- https://www.tumblr.com/tagged/谷歌霸屏程序【tg:seogoogle987】,H1v
- https://www.springfieldlibrary.org/?s=谷歌霸屏程序【tg:seogoogle987】,4Cq
- https://www.sensorshop24.de/catalogsearch/result/index/?type=132&q=谷歌霸屏程序【tg:seogoogle987】,j3q
- https://www.terramania.nl/catalogsearch/result/index/?q=谷歌霸屏程序【tg:seogoogle987】,35d
- https://www.ushmm.org/search/results.php?q=谷歌霸屏程序【tg:seogoogle987】,eCr
- https://www.zisha.com/shop/list.shtml?wap_keyword=谷歌霸屏程序【tg:seogoogle987】,7b5
- https://www.ncetm.org.uk/search?action=CHECK&q=谷歌霸屏程序【tg:seogoogle987】,Duw
- https://www.universal-music.co.jp/?ID=1sIcckCTeBS8FjzCshAW9w53s8gr691o&s=谷歌霸屏程序【tg:seogoogle987】,jJb
- https://www.le-trend.com/en/search/=谷歌霸屏程序【tg:seogoogle987】,qgz
- https://www.openstreetmap.org/search?query=谷歌霸屏程序【tg:seogoogle987】,spa
- https://www.remit.co.jp/id/?s=谷歌霸屏程序【tg:seogoogle987】,JhD
- https://www.remit.co.jp/zh/?s=谷歌霸屏程序【tg:seogoogle987】,Zzv
- https://www.l-and-b.jp/?page=1&s=谷歌霸屏程序【tg:seogoogle987】,V8P
- https://www.yr.no/en/search?q=谷歌霸屏程序【tg:seogoogle987】,m9s
- https://www.paxnet.co.kr/search/jongmok?kwd=谷歌霸屏程序【tg:seogoogle987】wCC
- https://www.seforall.org/search?keywords=谷歌霸屏程序【tg:seogoogle987】,w9C
- https://www.partilerdunyasi.com/index.php?route=product/search&tag=谷歌霸屏程序【tg:seogoogle987】,dLK
- https://www.wilsonart.com/catalogsearch/result/?action=CHECK&q=谷歌霸屏程序【tg:seogoogle987】,5Iz
- https://www.searcychamber.com/list/search?AsfnA=DtkTQzs&q=谷歌霸屏程序【tg:seogoogle987】,Pea
- https://www.hanbat.ac.kr/search/front/Search.jsp?qt=谷歌霸屏程序【tg:seogoogle987】Scd
- https://wydden.com/?ID=r8w9WMSKWkOcmiaFWaUv0dzMdqZWfKtF&s=谷歌霸屏程序【tg:seogoogle987】,pgS
- https://www.ucycle.com/search/=谷歌霸屏程序【tg:seogoogle987】,Y7y
- https://www.military-history.org/?s=谷歌霸屏程序【tg:seogoogle987】,UQj
- https://yscc1986.net/search/谷歌霸屏程序【tg:seogoogle987】Hmf
- https://www.roberthalf.com/us/en/jobs/all/谷歌霸屏程序【tg:seogoogle987】7eh
- https://www.miamiopenmri.com/?action=CHECK&s=谷歌霸屏程序【tg:seogoogle987】,KqV
- https://www.lauben.com/de/?s=谷歌霸屏程序【tg:seogoogle987】,XWU
- https://www.safetv.go.kr/base/search/view?searchWord=谷歌霸屏程序【tg:seogoogle987】ltB
- https://www.lifesciencesweden.se/search?q=谷歌霸屏程序【tg:seogoogle987】,41E
- https://www.tailoy.com.pe/catalogsearch/result/?q=谷歌霸屏程序【tg:seogoogle987】,FNh
- https://www.lyrics.com/lyrics/kkk3谷歌霸屏程序【tg:seogoogle987】,6Xw
- https://www.swanagerailway.co.uk/search?q=谷歌霸屏程序【tg:seogoogle987】,vOj
- https://www.laoairlines.com/?action=QUERY&s=谷歌霸屏程序【tg:seogoogle987】,KNB
- https://www.posten-portal.de/search?query=谷歌霸屏程序【tg:seogoogle987】,Qyu
- https://www.resopal.de/catalogsearch/result/?action=SEARCH&q=谷歌霸屏程序【tg:seogoogle987】,AQT
- https://www.teamlab.art/ko/?submit=谷歌霸屏程序【tg:seogoogle987】,Pk6
- https://www.krisinformation.se/en/search?q=谷歌霸屏程序【tg:seogoogle987】,aWd