菜鸟先飞之Hadoop分布式文件系统HDFS(一)

    技术2022-07-10  138

    一、了解HDFS

    HDFS,即分布式文件系统,是指文件系统管理的物理资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。它允许将一个文件通过网络在多台主机上以多副本的方式进行存储,实际上是通过网络来访问文件,而用户和程序看起来却像是访问本地的文件系统一样。

    HDFS优点:

      高容错性:HDFS上传的文件会自动保存多个副本,一个副本丢失,HDFS的副本机制会自动复制其他机器上的副本

      适合大数据处理

      流式数据访问:文件一旦写入,就不能修改只能增加,提高I/O性能

      可构建在廉价的机器上

    HDFS缺点:

      不适合低延时数据访问场景

      不适合小文件存取场景:(过多的小文件会导致内存溢出)一般可采用将小文件进行合并的方式进行改善。或者使用Hbase;

      不适合并发写入,文件随即修改场景(同一个时间,只能由一个用户进行写入,文件写入不可修改)可以并发读取

    二、HDFS架构

    HDFS采用master/slave架构

    master:NameNode

    slave:DataNode

    元数据:关于文件的描述信息

    Rack:机架

    Client:客户端 负责存储和读取

    NameNode:元数据节点,一个集群只有一个Active的NN,一旦挂掉,虽然数据还在,但是找不到具体文件的存储地址(相当于一个账本)

    DataNode:数据节点,数据储存节点,保存和检索Block,一个集群可以有多个数据节点

    Secondary NameNode :从元数据节点,合并NameNode的edit logs 到fsimage文件中,辅助NN(元数据节点)将内存中元数据信息持久化

    三、HDFS副本机制

    Block:数据块 HDFS最基本的存储单元 默认块大小:128M(2.x)

    副本机制:

        作用:避免数据丢失

        副本默认为3

    ps:配置文件中的Block块

    存放机制:一个在本地机架节点

                        一个在同一个机架不同节点

                        一个在不同机架的节点

    四、HDFD高可用

    在1.x版本中

    存在Namenode单点问题(无法解决的问题)

    在2.0x版本中

        HAdoop HA

            Active Namenode :对外提供服务

            Standy Namenode :Active故障时可切换为Active

        HDFS Federation 方式,共享DN资源

    五、HDFS读写文件

    HDFS写入文件

     HDFS读文件

    六、HDFS文件格式

    HDFS支持以不同格式存储所有类型的文件     文本、二进制     压缩格式分为:未压缩、压缩

    为了最佳的Map-Reduce处理,文件需可分割   SequenceFile   Avro File 二进制格式存储   ACFile ORCFile   Parquet File     -spark cirle

    Processed: 0.013, SQL: 9