HDFS是如何设计架构的?
前言
Hadoop到目前为止发展已经有10余年,版本经过无数次的更新迭代,目前业内大家把Hadoop大的版本分为Hadoop1.0、Hadoop2.0、Hadoop3.0 三个版本。
一、Hadoop 简介
Hadoop版本刚出来的时候是为了解决两个问题:一是海量数据如何存储的问题,一个是海量数据如何HD计算的问题。Hadoop的核心设计就是HDFS和 Mapreduce.HDFS解决了海量数据如何存储的问题, Mapreduce解决了海量数据如何计算的问题。HDFS的全称:Hadoop Distributed File System。
二、分布式文件系统
图片 HDFS其实就可以理解为一个分布式文件系统,可以看如图1所示有FS4个服务器是不是都有他自己的文件系统都可以进行存储数据,假设每个服务器的存储空间存储10G的数据。假设数据量很小的时候存储10G的数据还是ok的当数据量大于服务器的存储空间时是不是单个服务器就没法存储了。 我们是不是可以在服务器中部署一个Hadoop这样就能构建出一个集群(超级大电脑)。这样就存储 4*10=是如40G的数据量,这样我们面向用户时是不是只有一台超级大的电脑相当于一个分布式文件系统。
HDFS是一个主从的架构、主节点只有一个NemeNode。从节点有多个DataNode。
三、HDFS 架构
图片 假设我们这里有5台服务器每台服务器都部署上Hadoop,我们随便选择一台服务器部署上NameNode剩下服务器部何设署上DataNode。
客户端上传文件时假设文件大小为129MHDFS默认切分的大小为128M这时就会产生出2个blkNameNode去通知DataNode上传文件(这里有一定的策略),我们就假设就将这几个文件分别存储在4个服务器上。为什们要进行分别存储在,假设DataNode服务器有一天突然挂掉了我们是不是还计架可通过DataNode4或2和3进行读取数据,这样是不是就防止数据丢失。
NameNode
管理元数据信息(文件目录树):文件与Block块,Block块与DataNode主机关系 NameNode为快速响应用户操作,所以把元数据信息加载到内存里
DataNode
存储数据,把上传的数据划分固定大小文件块(Block)在H构的adoop2.73之前是64M之后改为了128M 为了保证数据安全,每个文件默认都是三个副本
SecondaryNamenode
周期性的到NameNode节点拉取Edtis和fsimage文件,将这两个文件加入到内存进行 然后将这两个文件加入到内存中进行合并产生新的fsimage发送给NameNode。
四、HDFS写入HD数据流程
客户端会带着文件路径向NameNode发送写入请求通过 RPC 与 NameNode 建立通讯, NameNode 检查目标文件,返回是否可以上传; Client 请求第一个 block 该传输到哪些 DataNode 服务器上; NameNode 根据副本数量和副本放置策略进行节点分配,返回DataNode节点,如:A,B,C CFSlient 请求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 都会返回含有该 bl计架ock副本的 DataNode 地址 这些返回的 DataNode 地址,会按照集群拓扑结构得出 DataNode 与客户端的距离,然后进行排序,排序两个规则:网络拓扑结构中距离 Client 近的排靠前;心跳机制中超时汇报的 DN 状态为 STALE,这样的排靠后; Client 选取排序靠前的 DataNode 调用FSDataInp构的utSteam的read方法来读取 block块数据,如果客户端本身就是DataNode,那么将从本地直接获取block块数据 当读完一批的 block块后,若文件读取还没有结束,客户端会继续向NameNode 获取下一批的 block 列表,继续读取 所有block块读取完成后,Client调用FSDataInputStHDream.close()方法,关闭输入流,并将读取来所有的 block块合并成一个完整的最终文件
六、HDFS缺陷
注意:早期版本
单点问题 内存受限
总结
上述给大家讲解了简单的HDFS架构,我在最后面留了一个小问题,我会在下期通过画图的方式给大家讲解,我在这里为大家提供大数据的资料需要的朋友可以去下面GitHub去下载,信FS自己,努力和汗水总会能得到回报的。我是大数据老哥,我们下期见~~~
(责任编辑:专题报道)
-
印度将在 2026 年与 Anthropic 共同举办全球人工智能峰会
人工智能公司 Anthropic 宣布与印度政府达成重要合作,计划于2026年2月共同主办全球人工智能峰会。这一峰会将成为国际人工智能领域的一项重要盛事,旨在汇聚全球的顶尖专家、学者以及企业领袖,分享...[详细]
-
新浪科技讯 北京时间8月24早间消息,据报道,美国社交网络巨头Facebook旗下有四款社交工具,而在日前,该公司在主应用“Facebook”中增加了源自Messenger的语音和视频通话功能。 20...[详细]
-
Google重磅推出“Google Skills”平台,内部AI知识向公众免费开放
Google 近日推出了一个名为“Google Skills”的全新学习平台,旨在将 Google 旗下顶尖团队的内部实训资源直接开放给全球公众,致力于弥合 AI 领域的技能鸿沟。该平台整合了 Dee...[详细]
-
鐮旂┒琛ㄦ槑锛屽�浠婁竴鐩村湪钄撳欢鐨勫啝鐘剁梾姣掔柅鎯呮湁鍙�兘姘镐箙鎬у湴鏀瑰彉浜轰滑鐨勭敓娲诲拰宸ヤ綔鏂瑰紡銆傚嵆浣垮喅瀹氳�鍛樺伐閲嶈繑鍔炲叕瀹ゅ伐浣滅殑浼佷笟涔熶笉澶�彲鑳藉畬鍏ㄩ噰鐢�20...[详细]
-
云计算核心技术Docker教程:Docker Hub设置构建规则
默认情况下,设置自动构建时,会为您创建一个基本的构建规则。此默认规则监视master源代码存储库中分支的更改,并将分支构建master为标记为的Docker映像 latest。 在“构建规则”部分中,...[详细]
-
云梦级4月10日云梦级消息,据澎湃新闻报道,最近在社交媒体上,用AI开设“一人公司”的风潮爆火,据程前的朋友圈账号分享,有夫妻俩用AI写公众号赚取流量费,一年收入200万。不过,根据公开信息,所谓的2...[详细]
-
pyecharts团队将其支持的图表类型归纳为以下几个类型:基本图表、直角坐标系图表、树型图表、地理图表、3D图表、组合图表。 对于分析师来讲,我们日常工作中使用最多的当属折线图、柱状图、散点图、箱型...[详细]
-
云梦级12月15日云梦级消息,据新浪科技报道,12月15日,美团团好货业务发布内部邮件,称食杂零售管理团队经研究讨论,决定暂停团好货业务,聚焦探索零售新业态。 公开资料显示,团好货是美团自主孵化的B2...[详细]
-
在多个公共云中部署和运行应用程序对许多IT领导者来说都是至关重要的,网络软件则可以提供帮助。 将应用程序迁移到云基础设施需要一定的规模、性能,更重要的是,还需要自动化。但是,由于对基础设施的可见性是有...[详细]
-
本文主要涵盖数据可视化工具主要包括4类:Excel图表、Python绘图库、Tableau以及网页在线工具等。 01 Excel 网传数据分析师必备基础套餐是ESP,即Excel+SQL+Python...[详细]
- https://www.ucycle.com/search/=百度快排【tg:seogoogle987】,cgJ
- https://www.laoairlines.com/?action=QUERY&s=百度快排【tg:seogoogle987】,qZE
- https://www.voices.com/talents/search?keywords=百度快排【tg:seogoogle987】,fff
- https://www.swecobelgium.be/?page=9&s=百度快排【tg:seogoogle987】,VPE
- https://zhidao.baidu.com/index/?action=QUERY&word=百度快排【tg:seogoogle987】,ff5
- https://www.so.com/s?ie=utf-8&src=360sou_home&_re=0&q=百度快排【tg:seogoogle987】,VW4
- https://www.youtube.com/hashtag/百度快排【tg:seogoogle987】,PXs
- https://www.paxnet.co.kr/search/jongmok?kwd=百度快排【tg:seogoogle987】nWE
- https://www.polliwogs.com/search/百度快排【tg:seogoogle987】,Xsa
- https://www.lauben.com/de/?s=百度快排【tg:seogoogle987】,YWd

标签: 腾励传动 IPO 汽车传动 国泰海通
想用好AI,你得趁早搞定这两问题!
阿里云技术支撑巴黎奥运会,将创造多个“首次”
标签: 英特尔 TeraFab 马斯克 SpaceX
璋锋瓕楂樼�瑙h�2021骞碤2璐㈡姤锛氬皢浣跨敤AR妯℃嫙瀹炰綋搴楃殑璐�墿鍦烘櫙
