大数据笔记05:大数据之Hadoop的HDFS(数据管理策略)

        HDFS中数据管理与容错

1.数据块的放置

      每个数据块3个副本,就像上面的数据库A一样,这是因为数据在传输过程中任何一个节点都有可能出现故障(没有办法,廉价机器就是这样的),为了保证数据不能丢失,所以存在3个副本,这样保证了硬件上的容错,保证数据传递过程中准确性。

      3个副本数据,放在两个机架上。比如上面机架1存在2个副本,机架2存在1个副本。

 

(1)如果就像下面的DataNode1数据块无法使用了,可以在机架1上的DataNode2和DataNode3取数据   或者 在机架2上取数据;

(2)如果就像下面这样,机架1不能使用了,我们可以在机架2上取数据;

2.心跳检测

DataNode每隔一段时间就会发送心跳消息给NameNode,NameNode通过解析这些心跳消息判断DataNode的状态,比如判断哪些DataNode是挂掉的,哪些是可以使用的

3. 二级NameNode

NameNode节点只有一个,但是如果NameNode出现故障,整个集群就会出现问题,所以这里出现一个NameNode的备份,也就是SecondaryNameNode。元数据会定期同步到这个SecondaryNameNode上面。

注意在NameNode正常状态下,这里的SecondaryNameNode只会接收备份,不会接收请求

如果NameNode出现了故障,如下:

SecondaryNameNode会替换NameNode,成为主的NameNode。

原文地址:https://www.cnblogs.com/hebao0514/p/4814140.html