HDFS在读写过程可能遇到的问题

本文主要记录学习过程中遇到的HDFS在读写过程中会遇到的问题,以及作者自己的一些问题,有知道的小伙伴欢迎指导。

HDFS在读取文件的时候,如果其中一个块突然坏掉怎么办?

在客户端在DataNode上读取完之后,会对读取到的数据进行checksum验证(该验证就是将读取到数据和HDFS块的元数据进行校验)。如果在校验过程中发现了错误,则说明在该DataNode读取的数据不完整,可能这个DataNode坏掉了,这是客户端就会和NameNode进行通讯,告诉存在异常的DataNode,而客户端可以从拥有该block备份的其他DataNode上面重新读取文件。
当DataNode确认数据异常后,将会启动异步删除,并同时该素master更新元数据信息。若没有其余的副本,则需要通过SecondaerNameNode进行数据恢复。

HDFS在上传文件的时候,如果其中的一个DataNode突然挂掉怎么办?

在客户端上传文件的时候,客户端会先与DataNode A建立pipline通讯通道,之后DataNode A与DataNode B建立pipline通讯通道,DataNode B与DataNode C建立pipline通讯通道,至此,有客户端到A, A到B ,B 到C的通道建立完成。而在客户端的DataNode之间的通信通道,正方向是从客户端向DataNode传输文件,当DataNode接受到文件之后,需要反方向给客户端返回一个ack确认信息。
而当DataNode突然挂掉之后,客户端接收不到DataNode的ack确认信息,则客户端会通知NameNode挂掉的DataNode,NameNode则会对DataNode进行检查,若确实挂掉,则会通知其他DataNode复制副本,并将DataNode做下线处理。

提问:客户端如何判断DataNode挂掉,除了没有接收到ACK信息之后,还有其他的方法吗,只要没接收到ack信息,就是挂掉了吗?

欢迎各位指正交流
文章内容为作者学习过程中,查阅资料的自己总结,若有不当之处,还请联系作者改正,敬请不吝赐教

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值