Hdfs简介与基础

Hdfs简介

    1. Hdfs是Hadoop distributed file system的简写,在Hadoop生态圈中担任海量数据分布式存储的角色。
    2. Hdfs有着简单、易用、高效的特点。
    3. 只要是涉及到海量数据存储的场景都可以应用Hdfs,其中文件越大Hdfs越有优势。
    4. 代码实现:Maven中引入Hadoop-client依赖,核心类:Configuration、FileSystem、Path、FSDataInputStream、FSDataOutputStream。

Hdfs架构设计

Hdfs简介与基础

 

  1. 角色定位:Hdfs架构设计中有NameNode、DataNodes、Client
  2. 角色作用:NameNode管理文件的元数据,DataNodes存储实际的数据,Client代表用户与NameNode或者DataNode交互来访问文件系统。
  3. 角色间关联关系:
    1. 比如在文件读取过程中:
      1. Client向NameNode发送写数据请求,NameNode返回block的存放位置的元数据信息。
      2. 由Client与DataNode直接通信,读取各个block数据块的信息,这个过程为并行读取。
    2. 比如在写文件的过程中:
      1. Client向NameNode发送写数据请求,NameNode寻找可以写入block信息的位置,若文件过大, 写入会分成多个block数据框,实际上是一个block一个block的申请。将找到的位置返回。
      2. Client获取到DataNode中的相应位置后,开始写操作。多个副本一次写入。每个block重复i与ii步。
      3. 写完后,Client收到全部写完的ack答复,并告知NameNode数据已经写完。
      4. DataNode向NameNode报告新增block数据块信息。

Hdfs高可用性措施(HA)

  1. 冗余备份
  2. 跨机架副本存放
  3. 心跳检测
  4. 数据完整性检测
  5. 安全模式
  6. 核心文件备份
  7. 空间回收

Hdfs dfs常用命令

  1. 文件的增删改查

注:命令均以hdfs dfs -开头

        1. 查看目录下文件 ls
        2. 查看文本文件内容 cat
        3. 创建目录 mkdir
        4. 删除目录/文件 rm -r /文件目录
上一篇:一文带你了解大数据技术之HDFS


下一篇:HDFS入门