• 大数据笔记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。

  • 相关阅读:
    Git的基本使用(只是基本使用)
    GET与POST的比较
    GO开发:链表
    阿里云啊
    以太坊区块和交易存储
    以太坊私有链部署合约
    以太坊go-ethereum签名部分源码解析
    GO开发:接口
    区块链开发:以太坊网络
    Go开发[八]goroutine和channel
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4814140.html
Copyright © 2020-2023  润新知