HDFS
HDFS:Hadoop分布式文件存储系统
HDFS架构包含Client、NameNode和DataNode。可以简单的认为有一个NameNode和多个DataNode。(NameNode不一定只有一个)
Client
用户需要通过HDFS Client向HDFS提交命令,Client负责与NameNode和DataNode建立连接以及传输数据。
NameNode
NameNode负责管理整个文件系统信息。
- 记录数据存储位置:HDFS可以存储很大的文件,每个文件都被分割成多个data block,存放在不同的DataNode上,而NameNode就负责记录一个文件有哪些data block,这些data block分别存放在哪些DataNode上。
- 执行文件系统常用操作:创建、重命名一个文件/文件夹之类的常用操作,都由NameNode负责。
DataNode
DataNode是实际存放data block的节点。
读写过程
每次访问读写HDFS,Client需要先联系NameNode,得知目标文件由哪些data block组成,以及这些data block的存储在哪些DataNode中。然后Client再联系这些DataNode进行数据读写。