【大数据作业02】HDFS中的名称节点和数据结点的具体功能

试述HDFS中的名称节点和数据结点的具体功能


名称节点负责管理分布式文件系统的命名空间,记录每个文件中各个块所在的数据节点的位置信息;
数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者名称节点的调度来进行数据的存储和检索,并向名称节点定期发送自己所存储的块的列表。

在分布式文件系统中,中心节点的设计至关重要,请阐述HDFS是如何减轻中心节点的负担的


在客户端需要访问一个文件时,名称节点并不参与数据的传输,而是只将数据节点位置发给客户端,因此实现了一个文件的数据能够在不同的数据节点上实现并发访问,大大提高了数据访问速度并减轻了中心服务器的负担,方便了数据管理。

 

试述HDFS的冗余数据保存策略


采用了多副本方式多数据进行存储。即先在集群内挑选一台磁盘不太满、CPU不太忙的数据节点作为第一个副本存放点;选取不同的机架的数据节点作为第二副本存放点;选择与第一副本存放点同机架的不同节点作为第三副本存放点;第四副本存放点从集群中随机挑选节点。

 

请阐述HDFS在不发生故障的情况下读文件的过程


1) 客户端打开文件,创建输入流;
2) 输入流通过远程调用名称节点,获得文件开始部分数据块的保存位置;
3) 客户端得到位置后开始读取数据,输入流选择距离客户端最近的数据节点建立连接并读取数据;
4) 数据从该数据节点读取至客户端结束时,关闭连接;
5) 输入流查找下一个数据块;
6) 找到该数据块的最佳数据节点,读取数据;
7) 客户端读取完毕数据时,关闭输入流。

请阐述HDFS在不发生故障的情况下写文件的过程


1) 客户端创建文件和输出流;
2) HDFS调用名称节点,在文件系统的命名空间中建一个新的文件,并执行检查;检查通过后,名称节点会构造一个新文件夹,并添加文件信息;
3) 客户端通过输出流向HDFS的文件写入数据;
4) 客户端写入的数据首先会被分成一个个的分包,将分包放入输出流对象的内部队列,并向名称节点申请若干个数据节点,然后通过流水线复制策略打包成数据包发送出去;
5) 为保证所有数据节点的数据都是准确的,需要数据节点向发送者发送“确认包”,当客户端收到应答时,将对应的分包从内部队列移除。不断执行3~5直至数据写完;
6) 客户端关闭输出流,通知名称节点关闭文件。
————————————————
版权声明:本文为CSDN博主「NPU_阿夏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40669059/article/details/105081996

  • 11
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值