首页

文章

hdfs主要功能

发布网友 发布时间:2022-03-28 11:14

我来回答

3个回答

懂视网 时间:2022-03-28 15:35

hdfs工作原理如下:

  1、客户端通过调用FileSystem对象的open括号来读取希望打开的文件。对于HDFS来说,这个对象是分布式文件系统的一个实例。

  2、DistributedFileSystem通过RPC来调用namenode,以确定文件的开头部分的块位置。对于每一块,namenode返回具有该块副本的datanode地址。此外,这些datanode根据他们与client的距离来排序(根据网络集群的拓扑)。如果该client本身就是一个datanode,便从本地datanode中读取。DistributedFileSystem返回一个FSDataInputStream对象给client读取数据,FSDataInputStream转而包装了一个DFSInputStream对象。

  3、接着client对这个输入流调用read()。存储着文件开头部分的块的数据节点的地址DFSInputStream随即与这些块最近的datanode相连接。

  4、通过在数据流中反复调用read(),数据会从datanode返回client。

  5、到达块的末端时,DFSInputStream会关闭与datanode间的联系,然后为下一个块找到最佳的datanode。client端只需要读取一个连续的流,这些对于client来说都是透明的。

  6、在读取的时候,如果client与datanode通信时遇到一个错误,那么它就会去尝试对这个块来说下一个最近的块。它也会记住那个故障节点的datanode,以保证不会再对之后的块进行徒劳无益的尝试。 client也会确认datanode发来的数据的校验和。如果发现一个损坏的块,它就会在client试图从别的datanode中读取一个块的副本之前报告给namenode。

  7、这个设计的一个重点是,client直接联系datanode去检索数据,并被namenode指引到块中最好的datanode。因为数据流在此集群中是在所有datanode分散进行的。

  

热心网友 时间:2022-03-28 12:43

(1)、Client其主要的职责如下

(a)、在上传数据的时候对数据进行分块,在进行数据的下载的时候对数据进行合并

(b)、与NameNode进行通信在进行数据上传的时候获取数据上传时的数据节点,在数据下载的时候获取存储数据的节点

(c)、与DataNode进行通信进行数据的上传和下载

(2)、NameNode主要的职责如下

(a)、负责数据块映射信息的管理,在上传数据的时候给Client返回可以上传的数据节点,在需要获取数据的时候返回数据所在的节点,其本身并不存储数据。

(b)、副本数据的管理策略。

(c)、管理HDFS的名称空间

(3)、DataNode的主要的职责如下

(a)、负责数据的存储以及数据的读写。

(4)、SecondaryNameNode主要职责

(a)、是NM的一个备用。

(b)、减去NM的负担,对NM中的日志以及镜像文件进行合并在把合并之后的数据发回到NM。
HDFS的写过程及内部原理


1. 使用HDFS提供的客户端开发库,向远程的Namenode发起RPC请求;

2. Namenode会检查要创建的文件是否已经存在,创建者是否有权限进行操作,成功则会为文件创建一个记录,否则会让客户端抛出异常;

3. 当客户端开始写入文件的时候,开发库会将文件切分成多个packets(信息包),并在内部以"data queue"的形式管理这些packets,并向Namenode申请新的blocks,获取用来存储replicas(复制品)的合适的datanodes列表,列表的大小根据在Namenode中对replication的设置而定。

4. 开始以pipeline(管道)的形式将packet写入所有的replicas中。开发库把packet以流的方式写入第一个datanode,该datanode把该packet存储之后,再将其传递给在此pipeline(管道)中的下一个datanode,直到最后一个datanode,这种写数据的方式呈流水线的形式。

5. 最后一个datanode成功存储之后会返回一个ack packet,在pipeline里传递至客户端,在客户端的开发库内部维护着"ack queue",成功收到datanode返回的ack packet后会从"ack queue"移除相应的packet。

6. 如果传输过程中,有某个datanode出现了故障,那么当前的pipeline会被关闭,出现故障的datanode会从当前的pipeline中移除,剩余的block会继续剩下的datanode中继续以pipeline的形式传输,同时Namenode会分配一个新的datanode,保持replicas设定的数量。

热心网友 时间:2022-03-28 14:01

hdfs主要功能?1.HDFS各个角色和主要功能.
(1)、Client其主要的职责如下
(a)、在上传数据的时候对数据进行分块,在进行数据的下载的时候对数据进行合并
(b)、与NameNode进行通信在进行数据上传的时候获取数据上传时的数据节点,在数据下载的时候获取存储数据的节点
(c)、与DataNode进行通信进行数据的上传和下载
(2)、NameNode主要的职责如下
(a)、负责数据块映射信息的管理,在上传数据的时候给Client返回可以上传的数据节点,在需要获取数据的时候返回数据所在的节点,其本身并不存储数据。
(b)、副本数据的管理策略。
(c)、管理HDFS的名称空间
(3)、DataNode的主要的职责如下
(a)、负责数据的存储以及数据的读写。
(4)、SecondaryNameNode主要职责
(a)、是NM的一个备用。
(b)、减去NM的负担,对NM中的日志以及镜像文件进行合并在把合并之后的数据发回到NM。
2.HDFS的写过程及内部原理

1. 使用HDFS提供的客户端开发库,向远程的Namenode发起RPC请求;
2. Namenode会检查要创建的文件是否已经存在,创建者是否有权限进行操作,成功则会为文件创建一个记录,否则会让客户端抛出异常;
3. 当客户端开始写入文件的时候,开发库会将文件切分成多个packets(信息包),并在内部以"data queue"的形式管理这些packets,并向Namenode申请新的blocks,获取用来存储replicas(复制品)的合适的datanodes列表,列表的大小根据在Namenode中对replication的设置而定。
4. 开始以pipeline(管道)的形式将packet写入所有的replicas中。开发库把packet以流的方式写入第一个datanode,该datanode把该packet存储之后,再将其传递给在此pipeline(管道)中的下一个datanode,直到最后一个datanode,这种写数据的方式呈流水线的形式。
5. 最后一个datanode成功存储之后会返回一个ack packet,在pipeline里传递至客户端,在客户端的开发库内部维护着"ack queue",成功收到datanode返回的ack packet后会从"ack queue"移除相应的packet。
6. 如果传输过程中,有某个datanode出现了故障,那么当前的pipeline会被关闭,出现故障的datanode会从当前的pipeline中移除,剩余的block会继续剩下的datanode中继续以pipeline的形式传输,同时Namenode会分配一个新的datanode,保持replicas设定的数量。
逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 Hadoop工作原理 如何在手机上播放u盘? 在手机上怎样打开u盘文件 用手机打开u盘怎么打 优盘怎么在手机上使用方法? 手机上怎么打开u盘 u盘在手机上怎么打开 手机u盘怎么在手机上打开 怎么用手机打开u盘 在手机上如何打开u盘 u盘怎么在手机上使用? 裴济的风土人情? 家里种植朱槿牡丹好不好?有没有什么忌讳? 武汉一男子离家六年,阳台长出两棵大树,这树是怎么长出来的? 家里养干支梅好吗? 彼岸花可以种在家里吗?会不会不吉祥? 办公室放什么花好呢 家里种绣球花影响风水吗 你知道自然界的许多岩石中存在的主要成分是碳酸钙吗?比如:______. 家里不能养的花有哪些 如何腌制出又嫩又滑的牛肉? 牛肉丝怎么腌制才嫩 为什么牛肉放啤酒会起到鲜嫩作用? 牛肉如何腌制才能又嫩又滑 腌牛肉怎么做才会嫩? 烫火锅用的牛肉怎样腌制到吃的时候才会鲜嫩 怎样让牛肉处理的嫩一些? 如何腌制嫩滑的牛肉 如何让牛肉变得嫩一点 如何腌制牛肉又简单又嫩滑? 啤酒腌制牛肉是不是很嫩 啤酒腌牛肉能腌多长时间 怎样腌制牛肉比较嫩? 火锅腌牛肉的腌制方法 如何烤牛肉比较嫩 火锅嫩牛肉怎么腌制 大数据具体学习内容是啥? 如果要学习数据分析,要首先掌握哪些理论知识 找王字旁的汉字,意思是除了“玉”以外的其他珠宝! 汉字有许多字都是"美玉"的意思,谁能归纳一下所有表示"美玉"的字?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com