HDFS(分布式文件系统)
1 架构简介
hdfs采用的是master/slave模型。
一个hdfs cluster包含一个NameNode和一些列的DataNode。
NameNode充当的是master的角色,主要负责管理hdfs文件系统,接受来自客户端的请求;
DataNode主要是用来存储数据文件,hdfs将一个文件分割成一个多这是多个的block,这些block可能存储在一个DataNode上或者是多个DataNode上。
基于上面的架构需求,hadoop采用了这种master/slave的架构,具体来说私有一下的几部分组成:
1. NameNode:基本上等同于Master的地位,复制控制底层文件的io操作,处理mapreduce任务等。
2. DataNode: 在slave机器上运行,负责实际的底层的文件的读写。如果客户端client程序发起了读hdfs上的文件的命令的话,那么首先将这些文件分成所谓的block,然后NameNode将告知client这些block数据是存储在那些DataNode上的,之后,client将直接和DataNode交互。
3. Secondary NameNode:该部分主要是定时对NameNode进行数据snapshots进行备份,这样尽量降低NameNode崩溃之后,导致数据的丢失。
4. JobTracker:该部分相当于在client progra