HDFS工作机制
HDFS可以存储大文件,可以将大的文件分块,每一个块可以存储在不同节点(计算机)中,使得不在受到单台计算机存储的限制。另外,可以设置复制因子(默认为3)对每一个块设有多个复本,一旦某个节点宕机之后,还有其他的复本可以供客户端访问。
NameNode和DataNode
在Hadoop集群采用的是主从架构,节点主要分为NameNode和DataNode.NameNode是主节点,DataNode是从节点。
NameNode存储的是元数据,功能如下:
- 存储文件的元信息:文件大小、权限,文件有几个块,分别存储在哪些DataNode上
- 监控dataNode的状态
- 存储的元数据信息是存储在内存中的
注:NameNode保存了2个核心的数据结构FsImage、editlog,每一次开机启动会从磁盘上拉取这两个文件,将FsImage加载到内存后执行editlog里面的操作。
DataNode功能如下:
- 存储文件内容
- 文件内容存放在磁盘上
- 向NameNode定期发送心跳
SecondaryNameNode
第二名称节点的作用是辅助NameNode工作。每一次NameNode启动之后,会将FSImage和Editlog加载进内存完成两者的合并,并将新的操作(增删改查)写入内存和editlog文件,随着时间的推移,editlog文件会越来越大,当重新