一.什么是HDFS
HDFS(Hadoop Distributed File System )Hadoop 分布式文件系统。 是基于流数据模式访问和处理超大文件的需求而开发的。
HDFS思想就是分而治之再综合的过程,但是对于我们使用者来说是透明的,就像我们使用Windows的文件系统一样,只需要知道你要操作的文件的路径和名称而不需要他的每一部分存储在什么节点
二.HDFS的一些基本的概念
Block:HDFS中的存储单元是每个数据块block,HDFS默认的最基本的存储单位是64M(在Apache Hadoop中默认是64M,Cloudera Hadoop版本中默认是128M。)的数据块。和普通的文件系统相同的是,HDFS中的文件也是被分成64M一块的数据块存储的。不同的是,在HDFS中,如果一个文件大小小于一个数据块的大小,它是不需要占用整个数据块的存储空间的。
NameNode:元数据节点。该节点用来管理文件系统中的命名空间,是master。其将所有的为了见和文件夹的元数据保存在一个文件系统树中,这些信息在硬盘上保存为了:命名空间镜像(namespace image)以及修改日志(edit log),后面还会讲到。此外,NameNode还保存了一个文件包括哪些数据块,分布在哪些数据节点上。然而,这些信息不存放在硬盘上,而是在系统启动的时候从数据节点收集而成的。
DataNode:数据节点。是HDFS真正存储数据的地方。客户端(client)和元数据节点(NameNode)可以向数据节点请求写入或者读出数据块。此外,DataNode需要周期性的向元数据节点回报其存储的数据块信息。
Secondary NameNode:从元数据节点。从