问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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设定的数量。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如果两个男生喜欢上同一个女生怎么办 玛丽居里学者 玛丽居里奖学金含金量 玛丽居里学者含金量 玛丽居里学者什么级别 豆渣肥料适合什么花 豆渣拌在土里能种花吗-豆渣怎样做肥料好 生物化学和微生物学是一个专业吗 请问这狗狗是什么品种?是不是杂交的啊? ...鉴别下这是啥狗狗?大概三个月不到点。个人感觉像是蝴蝶和土狗... Hadoop工作原理 如何在手机上播放u盘? 在手机上怎样打开u盘文件 用手机打开u盘怎么打 优盘怎么在手机上使用方法? 手机上怎么打开u盘 u盘在手机上怎么打开 手机u盘怎么在手机上打开 怎么用手机打开u盘 在手机上如何打开u盘 u盘怎么在手机上使用? 裴济的风土人情? 家里种植朱槿牡丹好不好?有没有什么忌讳? 武汉一男子离家六年,阳台长出两棵大树,这树是怎么长出来的? 家里养干支梅好吗? 彼岸花可以种在家里吗?会不会不吉祥? 办公室放什么花好呢 家里种绣球花影响风水吗 你知道自然界的许多岩石中存在的主要成分是碳酸钙吗?比如:______. 家里不能养的花有哪些 如何腌制出又嫩又滑的牛肉? 牛肉丝怎么腌制才嫩 为什么牛肉放啤酒会起到鲜嫩作用? 牛肉如何腌制才能又嫩又滑 腌牛肉怎么做才会嫩? 烫火锅用的牛肉怎样腌制到吃的时候才会鲜嫩 怎样让牛肉处理的嫩一些? 如何腌制嫩滑的牛肉 如何让牛肉变得嫩一点 如何腌制牛肉又简单又嫩滑? 啤酒腌制牛肉是不是很嫩 啤酒腌牛肉能腌多长时间 怎样腌制牛肉比较嫩? 火锅腌牛肉的腌制方法 如何烤牛肉比较嫩 火锅嫩牛肉怎么腌制 大数据具体学习内容是啥? 如果要学习数据分析,要首先掌握哪些理论知识 找王字旁的汉字,意思是除了“玉”以外的其他珠宝! 汉字有许多字都是"美玉"的意思,谁能归纳一下所有表示"美玉"的字?