• Hadoop-- hdfs


    1、HDFS中的三个进程:NameNode(NN)、DataNode(DN)、SecondNameNode(SNN)
    2、NameNode(NN)
    1、作用:

    1、接收客户端的一个读、写的服务,在namenode上存储了数据文件和datanode的映射的关系。

    2、存储元数据信息,会将文件的一些属性、文件的大小、文件的权限都存储在namenode上面,和存储block的位置信息,在每次开启集群的时候datanode会向namenode汇报block的信息。

    集群启动的时候:

            首先在启动的时候,namenode是不会存储任何datanode与block的映射关系,是datanode会自动的将这种映射关系汇报给namenode,然后namenode会根据datanode的提供的关系自动的生成映射关系。

    集群运行的时候:

            namenode会与datanode保持一个心跳机制,每三秒一次,保证客户端在进行读写的需求的时候,namenode能够知道dataname的健康状态

            可以让客户端读取存活的DN节点,如果NN与DN三秒没有心跳则认为DN出现异常,此时不会让新的数据写到这个异常的DN中,客户端访问的时候不提供异常DN节点地址,

            如果超过十分钟没有心跳,那么NN会将当前DN节点存储的数据转移到其他的节点

    3、NameNode为了效率,会将所有的操作都在内存中执行。这样的操作速度比较快,NameNode不会和磁盘进行任何的数据交换

            但是会出现两个问题,那就是数据的持久化的问题和数据安全的问题,因为数据是存储在内存中,当出现意外的时候,数据容易丢失。

    2、DataNode(DN):
    1、作用:

    1、存放的是文件的数据信息(block块),以及验证文件完整性的校验文件(以meta结尾的文件)

    2、数据是存储在硬盘中

    3、会向NN做汇报

            1、在启动的时候,会先检验一下自身的block文件时候存在毁坏等问题,向NN汇报DN上面的block信息。

            2、在运行的时候,和NN保持心跳机制

    4、客户端在进行读写请求的时候,会先去NN中查询文件和block与DN的映射的关系,然后客户端就会与DN建立联系,然后读写数据。

    3、SecondNameNode:
    1、作用:

    主要是负责合并NameNode的edit logs到fsimage文件中。

    NN也会将存储的元数据信息存储到磁盘中,此时会使用到两个文件,分别是

    1. fsimage - 它是在NameNode启动时对整个文件系统的快照
    2. edit logs - 它是在NameNode启动后,对文件系统的改动序列

    只有在NameNode重启时,edit logs才会合并到fsimage文件中,从而得到一个文件系统的最新快照。但是在实际的生产中,集群中NameNode是很少重启的,这也意味着当NameNode运行了很长时间后,edit logs文件会变得很大,此时SNN就会将edit logs与原先旧的fsimage进行合并,产生一个新的fsimage。

    主要的工作的流程是:

    1. 首先,它定时到NameNode去获取edit logs,并更新到fsimage上。[笔者注:Secondary NameNode自己的fsimage]
    2. 一旦它有了新的fsimage文件,它将其拷贝回NameNode中。
    3. NameNode在下次重启时会使用这个新的fsimage文件,从而减少重启的时间。
    4、安全模式:

    安全模式是HDFS中的一种工作状态,出于安全模式的状态下,只向用户提供文件的只读的模式,不接受对命名空间的修改,同时NN也不会进行数据块的复制和删除。

    1. 强制退出安全模式:
    2. hdfs dfsadmin -safemode leave
    3. 进入安全模式的命令:
    4. hdfs dfsadmin -safemode enter
    5. 查看安全模式:
    6. hdfs dfsadmin -safemode get
    7. 等待安全模式退出:
    8. hdfs dfsadmin -safemode wait
    5、机架感知

    是为了保证副本在集群中的安全。需要将不同的节点存放在不同的节点上面。

  • 相关阅读:
    第58章 结构、纪录与类
    头歌实训答案:招聘数据分析
    【机器学习】基于多元时间序列对高考预测分析案例
    java System
    鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    英特尔 Gaudi 加速辅助生成
    Mybatis(三)
    swift-基础
    述职报告写作总结
    第二章:OSI参考模型与TCP/IP模型
  • 原文地址:https://blog.csdn.net/m0_62078954/article/details/134516827