问题:
HDFS采用的是Maser/Slave模型,一个HDFS cluster包含一个NameNode和一些列的DataNode,其中NameNode充当的是Maser的角色,主要负责管理HDFS文件系统。里面存储着描述信息,处理来自客户端的请求;DataNode主要是用来存储数据文件,HDFS将一个文件分割成多个Block,这些Block可能存储在一个DataNode上或者是多个DataNode上。
HDFS支持传统文件系统的目录结构,应用程序能够创建目录directory,在这些目录中存储文件,创建文件,移动文件和删除文件,重命名文件,但是不支持硬链接和软连接。
系统需要进行分布式管理,这样可以通过高性能的Map-Reduce对系统的数据进行高效地管理和处理,使数据分散地存储到每个节点上,也令每个任务在节点上并行执行,减少系统的开销。
由于HDFS系统存储的数据量非常大,为了保证数据的完整性和数据在破坏或者丢失后能够充分地恢复,所以需要加入冗余和容错技术。冗余是指备份数据和信息。容错是指通过备份的数据和信息,使系统自动恢复到事故发生之前的状态。
HDFS将一个发文件分割成Block,然后将这些Block存储到不同的DataNode中,那么如何保证如果一个DataNode死掉,保证数据的完整性,通常的技术就是进行数据的备份,HDFS同样使用的是这一策略。
● 参考解析