1、HDFS 是什么
HDFS(Hadoop Distributed File System )Hadoop 分布式文件系统。由论文为GFS(Google File System)Google 文件系统启发,是Google GFS 的开源Java 实现。
2、HDFS 组件角色
2.1 NameNode
- HDFS 元数据管理者,管理NameSpace(文件系统命名空间),记录文件是如何分割成数据块以及他们分别存储在集群中的哪些数据节点上。
- NameSpace 或其本身属性的任何更改都由NameNode 记录,维护整个文件系统的文件和目录。
2.2 DataNode
- DataNode 是文件系统的工作节点。根据客户端或者NameNode 发送的管理指令,负责HDFS 的数据块的读写和检索操作。
- 通过心跳机制定期向NameNode 发送他们的存储块的列表。.
2.3 Client
- 客户端Client 代表用户与NameNode 或者DataNode 交互来访问整个文件系统的对象。
- 开发人员面向Client API 来编程实现,对NameNode、DataNode 来说透明无感。
3、HDFS 架构设计
3.1 基本架构