《大数据技术应用与原理》第二版-第三章分布式文件系统HDFS

3.1分布式文件

  1. HDFS默认一个块的大小是64MB,与普通文件不同的是如果一个文件小于数据块的大小,它并不占用整个数据块的存储空间。
  2. 主节点又叫名称节点;另一个叫从节点又叫数据节点。名称节点负责文件和目录的创建、删除和重命名,同时管理数据节点和文件块的映射关系。数据节点负责数据存储和读取。

3.2HDFS的相关概念

  1. MapReduce中的map一次只处理一个块中的数据。HDFS抽象块的概念可以带来一下好处:
    • 支持大规模文件存储
    • 简化系统
    • 适合数据备份
  2. 名称节点在启动过程中处于安全模式,只对外提供读操作,无法提供写操作。启动过程结束后,系统会退出安全模式,就可以对外界提供读写操作。
  3. 名称节点中保存两个核心数据结构FsImage和EditLog
  4. 第二名称节点,解决EditLog逐渐变大带来的问题,两个功能EditLog与FsImage的合并操作;作为名称节点的检查点,注意是冷备份。

3.4HDFS体系结构

  1. 采用主从模型,在整个HDFS集群中只有一个命名空间,并且只有唯一一个名称节点。
  2. HDFS通信协议是建立在TCP/IP协议上面的,并使用客户端协议与名称节点进行交互,名称节点和数据节点之间则使用数据节点协议进行交互。客户端与数据节点交互是通过RPC来实现的。
  3. 因为只设置了一个名称节点,存在局限性。
    • 命名空间的限制
    • 性能的瓶颈
    • 隔离问题
    • 集群的可用性
  4. HDFS的存储原理
    • 数据冗余存储,具有以下优点;加快数据传输速度;容易检查数据错误;保证数据的可靠性
    • 数据存取策略,包括数据存储、数据读取(就近原则,HDFS提供一个API可以确定数据节点所属的机架ID)、数据复制(采用流水线复制策略)。
    • 数据错误与恢复,名称节点出错(一是通过两个核心数据结构,而是通过第二名称节点);数据节点出错;数据出错

3.6HDFS数据读写过程

  • HDFS的读过程,图片

  • HDFS的写过程,图片
    1. 创建文件请求
    2. 创建文件元数据
    3. 写入数据
    4. 写入数据包(包括了流水线复制)
    5. 接收确认数据包
    6. 关闭文件
    7. 写操作完成
  • hadoop fs(用作任何文件系统,比如本地文件系统和HDFS文件系统)hadoop dfs(只适用于HDFS文件系统)hdfs dfs(也只适用于HDFS文件系统)

猜你喜欢

转载自www.cnblogs.com/tsruixi/p/12078848.html