一、分布式文件系统

1.分布式文件系统解决问题:海量数据的高效存储

2.分布式文件系统是将文件分布存储到多个计算机节点上。(此处的计算机为普通计算机)

3.分布式文件系统的多个节点分为两类:

    名称节点(主节点):文件、目录的操作(创建、删除、重命名等),数据节点与文件块的映射关系

    数据节点(从节点):数据的读取与存储

二、HDFS概念

1.名称节点:管理分布式文件的命名空间。包含FsImage,Editlog两大核心数据结构

        FsImage:维护文件系统树以及文件树中的文件和文件夹中的元数据

         Editlog:记录所有针对文件的创建、删除、重命名操作


hdfs中的slaver节点是什么 hdfs把节点分为两类_数据

名称节点的数据结构

 2.FsImage,Editlog两大数据结构工作过程:

名称节点启动—>FsImage的内容加载到内存—>执行EditLog中的操作(使内存中的数据源保持最新)—>创建新的FsImage+空         的EditLog

 注:名称节点成功启动并进行正常运行后,HDFS的更新操作将被写入EditLog

 名称节点在启动的过程中只允许读操作,不能写

3.第二名称节点

1.解决问题:Editlog文件逐渐变大

2.功能:完成FsImage和Editlog的合并,减小Editlog文件大小,缩短名称节点重启时间;名称节点的‘检查点’,保存名称节点元数据信息。

3.工作过程:


hdfs中的slaver节点是什么 hdfs把节点分为两类_数据_02

第二名称节点工作过程

三、HDFS存储原理      

1.数据的冗余存储:

一个数据块的多个副本存储到不同的数据节点上(多副本方式进行冗余存储)

2.数据存储策略:包括数据存放,数据读取、数据复制

数据存放:HDFS 默认复制三分,两份副本放在同一个机架的不同机器,第三份副本放在不同的机架上

数据读取:数据节点所在机架ID 与客户端所属机架ID相同则读取该机架,否则随机

数据复制:流水线复制

3.数据错误与恢复

四、HDFS的数据读写

读:

hdfs中的slaver节点是什么 hdfs把节点分为两类_hdfs_03

写:

hdfs中的slaver节点是什么 hdfs把节点分为两类_hdfs中的slaver节点是什么_04

 

五、HDFS常用命令

hadoop dfs/fs -ls 当前目录下文件信息

hadoop dfs/fs  -cat 标准输出

hadoop dfs/fs  -mkdir 创建文件夹

hadoop dfs/fs  -cp 复制

hadoop dfs/fs  -put 本地文件系统复制到目标

hadoop dfs/fs -mv 移动

hadoop dfs/fs -rm -r 删除文件