HDFS文件操作
一、概念
HDFS是一种文件系统,它存储着Hadoop应用将要处理的数据,专为MapReduce这类框架下的大规模分布式数据处理而设计。为解决传统问题中文件存储的问题—海量数据的存储。
二、HDFS设计目标:
1、very large files(单个文件/文件总大小)
2、streaming data access(write-once,read-many-time) ,在写入过后,文件内容无法修改,在开始时,甚至无法对文件内容添加,现在允许在文件末尾添加内容,不允许修改中间的内容。
3、commodity hardware ,运行在普通硬件上
三、HDFS架构:
在hadoop中,一个文件被划分成大小固定(64MB)的多个文件块,分布的存储在集群中的节点中,一般一个文件块会备份三份,分别存储在两个机架上。普通硬件出错/失效是一种常见的情况,为解决这种情况,同一个文件块在不同的节点中有多个副本(冗余存储),当某个节点出问题时,可以从另外的主机取到数据。
Hadoop的HDFS会自动保持文件块的数量始终一致。
四、HDFS文件系统架构的主要部分
Block:一个文件分块,默认为64MB
NameNode:保存整个文件系统的目录信息,文件信息以及文件相应的分块信息。
DataNode:用于存储Blocks(文件的读、写操作)
HDFS的HA策略:NameNode一旦宕机,整个文件系统将无法工作,若NameNode中的数据丢失,整个文件系统也就丢失了,2